twitter/bootstrap — pull request #6342 by mdo (2012-12-20 04:54:54+00:00)
Title: BS3

*To better illustrate how we'll be doing development in the future, we're rocking a pull request that will remain open until we ship 3.0. In the future, this will be feature-specific (e.g., a branch like `modal-revamp` instead of `n.n.n-wip`).*

### BS3 task list

While our last major version bump (2.0) was a complete rewrite of the docs, CSS, and JavaScript, the move to 3.0 is not quite as ambitious. This is an ongoing document to identify the changes we'll be making along the way.

**Note: ❑ indicates incomplete tasks.**

#### Docs
- **Removed all i18n tags from Mustache templates.** No more `{{_i}}` and `{{/i}}` in the docs templates, just raw HTML.
- **Consolidated the Scaffolding and Base CSS pages into a new CSS page.** Helps simplify where to find CSS-related things and removes a bunch of overhead in the docs.
- ❑ Add full gallery showcase page to expand on homepage highlights.
- ❑ Add variables to dictate page titles for docs pages (rather than abstract from file name). Would improve capitalization, enable more accurate titles, etc.

#### Global CSS
- **Dropped support for IE7.** Removed all `*` hacks, such as `*zoom: 1;`, and other IE7-specific lines of CSS.
- **Dropped support for Firefox 3.6.** Removed `-moz-box-shadow` instances and button inner padding hacks.
- **All variables now use dashes** instead of camelCase. For example, it's now `@body-background` instead of `@bodyBackground`.
- **Responsive CSS is no longer separate.** All responsive features are now compiled into the core `bootstrap.css` file. Separate files are no longer required, and have thus been removed.
- **Removed all color variables** (e.g., `@blue`, `@orange`, etc). New, more meaningful variables are on their way (such as `@state-warning-text`).
- **Removed `.border-radius()` and `.border-*-*-radius` mixins.** As only Android 2.1, iOS 3.2, and older desktop browsers [require a prefixed version](http://caniuse.com/#feat=border-radius), we've removed the base mixin. Since we no longer require prefixes for independent corners, we've dropped those mixins as well. Mixins for a single side, however, are still in use.
- **Removed layouts.less.** Since it only held styles `.container` and `.container-fluid`, and the fluid container has been removed (see next section), we move the default `.container` styles to `grid.less`.
- **Changed name of clearfix mixin.** Mixin itself is now `.clear_float()` and class is `.clearfix`. Currently Less doesn't support using a class with the same name as the mixin, thus the change to support the "no classes in mixins.less" attitude.
- ❑ Standardize use of `.*-important` and `.*-danger` classes. Includes buttons, labels, badges, text, alerts. and progress bars.
- ❑ Update clearfix docs to reflect CSS changes.

#### Layout and grid system
- **Dropped all things fluid.** We removed the fluid grid system, fluid container, and fluid layout.
- **Overhauled default grid system.** Now uses percentage widths, padding, and `box-sizing: border-box` instead of pixel widths and margins. Nesting and offsets remain the same.
- Removed dedicated table grid system classes.
- `.container` now uses `max-width` instead of `width`. Helps resolve some issues with containers in components like navbars.

#### Type
- Dropped the `@altFontFamily` variable.

#### Forms
- **Updated box modal for inputs.** Switched to `box-sizing: border-box;` and `width: 100%;` by default for all textual inputs. This means you'll need to specify a size for inputs, whereas before 3.0 inputs had a set width (around 220px) to start.
- Deprecated `.input-prepend` and `.input-append` for `.input-group`.
- ❑ Finish implementing new input groups with segmented button dropdowns.
- ❑ Separate single button dropdowns from segmented button dropdowns with unique classes.
- ❑ Rename button group to segmented controller.
- ❑ Allow form field states to apply to individual inputs.

#### Icons
- Converted to Glyphicons v1.7 @font-face, dropping the old PNGs.

#### Buttons and button groups
- ❑ Refactor to allow dropdowns within button groups
- ❑ Separate classes for regular button dropdown and segmented button dropdown

#### Labels and badges
- ❑ Consolidate down to a single component with a modifier.

#### Hero unit
- ❑ Convert class to `.jumbotron`.

#### Navigation
- **Removed the `.nav-list` option** to simplify nav offerings.
- ❑ Instead, `.nav-stacked` will be a modifier class for tabs and pills to achieve virtually the same component.
- ❑ Improve collapsed navbar behavior for better handling of dropdowns and other content.

#### Thumbnails
- **Dropped the `.thumbnails` meta component.** Instead of special HTML and CSS for grid sizing, just use the grid system itself.
- Individual `.thumbnail` styles are still available, but for sizing, require a parent with a set `width` (e.g., grid columns).