From eb2e1102be0f4641ee3e5c4e7853360d5a04e3d8 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 21 Dec 2016 20:26:17 -0800 Subject: Flexbox all the time (Drop IE9 support and remove $enable-flex option) (#21389) * remove the $enable-flex variable option * remove bootstrap-flex.css dist file and it's grunt task * remove the separate flex css file for docs; it's all the same now * remove flexbox docs (porting some to the main grid docs in next commit) * clean up few grid docs bits to simplify copy, start to mention flexbox * port relevant flexbox-grid.md content to grid.md - clean up mixins - update how it works section - bring over sizing and alignment sections * remove the $enable-flex from the options.md page * update lead paragraph to mention flexbox * update migration to mention loss of ie9 support * remove mention of flexbox dist file * clarify IE support * making a note * remove flexbox variant mentions from component docs - updates docs for media object, navs, list group, and cards to consolidate docs - no more need to callout flexbox variants since it's now the default * remove $enable-flex if/else from sass files * remove flex dist files * update scss lint property order to account for flex properties * linting * change to numberless classes for autosizing, wrap in highlighting div * bump gruntfile and postcss to ie10 * redo intro sections * rearrange * phew, redo hella grid docs - rearrange all the things - consolidate some bits * remove reference to flexbox mode * more border action for demo * Make some changes to the .card's in .card-deck's to ensure footers align to the bottom --- docs/layout/flexbox-grid.md | 286 -------------------------------------------- 1 file changed, 286 deletions(-) delete mode 100644 docs/layout/flexbox-grid.md (limited to 'docs/layout/flexbox-grid.md') diff --git a/docs/layout/flexbox-grid.md b/docs/layout/flexbox-grid.md deleted file mode 100644 index c6430424a..000000000 --- a/docs/layout/flexbox-grid.md +++ /dev/null @@ -1,286 +0,0 @@ ---- -layout: docs -title: Flexbox grid system -description: Documentation and examples for using Bootstrap's optional flexbox grid system. -group: layout ---- - -Fancy a more modern grid system? [Enable flexbox support in Bootstrap]({{ site.baseurl }}/getting-started/flexbox/) to take full advantage of CSS's Flexible Box module for even more control over your site's layout, alignment, and distribution of content. - -Bootstrap's flexbox grid includes support for every feature from our [default grid system]({{ site.baseurl }}/layout/grid/), and then some. Please read the [default grid system docs]({{ site.baseurl }}/layout/grid/) before proceeding through this page. Features that are covered there are only summarized here. Please note that **Internet Explorer 9 does not support flexbox**, so proceed with caution when enabling it. - -{% callout warning %} -**Heads up!** This flexbox grid documentation is powered by an additional CSS file that overrides our default grid system's CSS. This is only available in our hosted docs and is disabled in development. -{% endcallout %} - -## Contents - -* Will be replaced with the ToC, excluding the "Contents" header -{:toc} - -## How it works - -The flexbox grid system behaves similar to our default grid system, but with a few notable differences: - -- [Grid mixins]({{ site.baseurl }}/layout/grid#sass-mixins) and [predefined classes]({{ site.baseurl }}/layout/grid#predefined-classes) include support for flexbox. Just [enable flexbox support]({{ site.baseurl }}/getting-started/flexbox/) to utilize them as you would otherwise. -- Nesting, offsets, pushes, and pulls are all supported in the flexbox grid system. -- Flexbox grid columns without a set width will automatically layout with equal widths. For example, four columns will each automatically be 25% wide. -- Flexbox grid columns have significantly more alignment options available, including vertical alignment. -- Unlike the default grid system where a grid column starts as full-width in the `xs` tier, **flexbox requires a `.col-{breakpoint}` class for each tier.** -- Be aware of the limitations and [bugs around flexbox](https://github.com/philipwalton/flexbugs), like the [inability to use some HTML elements as flex containers](https://github.com/philipwalton/flexbugs#9-some-html-elements-cant-be-flex-containers). - -Chill? Awesome—keep reading for more information and some code snippets. - -## Auto-layout columns - -When flexbox support is enabled, you can utilize breakpoint-specific column classes for equal-width columns. Add any number of `.col-{breakpoint}`s for each breakpoint you need and every column will be the same width. - -### Equal-width - -For example, here are two grid layouts that apply to every device and viewport, from `xs` to `xl`. - -
-{% example html %} -
-
-
- 1 of 2 -
-
- 1 of 2 -
-
-
-
- 1 of 3 -
-
- 1 of 3 -
-
- 1 of 3 -
-
-
-{% endexample %} -
- -### Setting one column width - -Auto-layout for flexbox grid columns also means you can set the width of one column and the others will automatically resize around it. You may use predefined grid classes (as shown below), grid mixins, or inline widths. Note that the other columns will resize no matter the width of the center column. - -
-{% example html %} -
-
-
- 1 of 3 -
-
- 2 of 3 (wider) -
-
- 3 of 3 -
-
-
-
- 1 of 3 -
-
- 2 of 3 (wider) -
-
- 3 of 3 -
-
-
-{% endexample %} -
- -### Variable width content - -Using the `col-{breakpoint}-auto` classes, columns can size itself based on the natural width of its content. This is super handy with single line content like inputs, numbers, etc. This, in conjunction with [horizontal alignment](#horizontal-alignment) classes, is very useful for centering layouts with uneven column sizes as viewport width changes. - -
-{% example html %} -
-
-
- 1 of 3 -
-
- Variable width content -
-
- 3 of 3 -
-
-
-
- 1 of 3 -
-
- Variable width content -
-
- 3 of 3 -
-
-
-{% endexample %} -
- -## Responsive flexbox - -Unlike the default grid system, the flexbox grid requires a class for full-width columns. If you have a `.col-sm-6` and don't add `.col-12`, your `xs` grid will not render correctly. Note that flexbox grid tiers still scale up across breakpoints, so if you want two 50% wide columns across `sm`, `md`, and `lg`, you only need to set `.col-sm-6`. - -
-{% example html %} -
-
-
- 1 of 2 (stacked on mobile) -
-
- 1 of 2 (stacked on mobile) -
-
-
-{% endexample %} -
- -## Vertical alignment - -Use the flexbox alignment utilities to vertically align columns. - -
-{% example html %} -
-
-
- One of three columns -
-
- One of three columns -
-
- One of three columns -
-
-
-
- One of three columns -
-
- One of three columns -
-
- One of three columns -
-
-
-
- One of three columns -
-
- One of three columns -
-
- One of three columns -
-
-
-{% endexample %} -
- -
-{% example html %} -
-
-
- One of three columns -
-
- One of three columns -
-
- One of three columns -
-
-
-{% endexample %} -
- -## Horizontal alignment - -Flexbox utilities for horizontal alignment also exist for a number of layout options. - -
-{% example html %} -
-
-
- One of two columns -
-
- One of two columns -
-
-
-
- One of two columns -
-
- One of two columns -
-
-
-
- One of two columns -
-
- One of two columns -
-
-
-
- One of two columns -
-
- One of two columns -
-
-
-
- One of two columns -
-
- One of two columns -
-
-
-{% endexample %} -
- -## Reordering - -Flexbox utilities for controlling the **visual order** of your content. - -
-{% example html %} -
-
-
- First, but unordered -
-
- Second, but last -
-
- Third, but first -
-
-
-{% endexample %} -
-- cgit v1.2.3