diff options
Diffstat (limited to 'docs/layout')
| -rw-r--r-- | docs/layout/grid.md | 6 | ||||
| -rw-r--r-- | docs/layout/responsive-utilities.md | 243 | ||||
| -rw-r--r-- | docs/layout/utilities-for-layout.md | 31 |
3 files changed, 34 insertions, 246 deletions
diff --git a/docs/layout/grid.md b/docs/layout/grid.md index 4d0d3e6e8..738eafe62 100644 --- a/docs/layout/grid.md +++ b/docs/layout/grid.md @@ -471,7 +471,7 @@ If more than 12 columns are placed within a single row, each group of extra colu ### Column resets -With the handful of grid tiers available, you're bound to run into issues where, at certain breakpoints, your columns don't clear quite right as one is taller than the other. To fix that, use a combination of a `.clearfix` and our [responsive utility classes]({{ site.baseurl }}/layout/responsive-utilities/). +With the handful of grid tiers available, you're bound to run into issues where, at certain breakpoints, your columns don't clear quite right as one is taller than the other. To fix that, use a combination of a `.clearfix` and our [responsive display utilities]({{ site.baseurl }}/utilities/display/). <div class="bd-example-row"> {% example html %} @@ -480,7 +480,7 @@ With the handful of grid tiers available, you're bound to run into issues where, <div class="col-6 col-sm-3">.col-6 .col-sm-3</div> <!-- Add the extra clearfix for only the required viewport --> - <div class="clearfix hidden-sm-up"></div> + <div class="clearfix d-none d-sm-block"></div> <div class="col-6 col-sm-3">.col-6 .col-sm-3</div> <div class="col-6 col-sm-3">.col-6 .col-sm-3</div> @@ -585,7 +585,7 @@ To nest your content with the default grid, add a new `.row` and set of `.col-sm ## Sass mixins -When using Bootstrap's source Sass files, you have the option of using Sass variables and mixins to create custom, semantic, and responsive page layouts. Our [predefined grid classes](#predefined-classes) use these same variables and mixins to provide a whole suite of ready-to-use classes for fast responsive layouts. +When using Bootstrap's source Sass files, you have the option of using Sass variables and mixins to create custom, semantic, and responsive page layouts. Our predefined grid classes use these same variables and mixins to provide a whole suite of ready-to-use classes for fast responsive layouts. ### Variables diff --git a/docs/layout/responsive-utilities.md b/docs/layout/responsive-utilities.md deleted file mode 100644 index d1522e558..000000000 --- a/docs/layout/responsive-utilities.md +++ /dev/null @@ -1,243 +0,0 @@ ---- -layout: docs -title: Responsive utilities -description: Use responsive display utility classes for showing and hiding content by device, via media query. -group: layout ---- - -For faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query. Also included are utility classes for toggling content when printed. - -Try to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation. - -## Contents - -* Will be replaced with the ToC, excluding the "Contents" header -{:toc} - -## Available classes - -* The `.hidden-*-up` classes hide the element when the viewport is at the given breakpoint or wider. For example, `.hidden-md-up` hides an element on medium, large, and extra-large viewports. -* The `.hidden-*-down` classes hide the element when the viewport is at the given breakpoint or smaller. For example, `.hidden-md-down` hides an element on extra-small, small, and medium viewports. -* There are no explicit "visible"/"show" responsive utility classes; you make an element visible by simply not hiding it at that breakpoint size. -* You can combine one `.hidden-*-up` class with one `.hidden-*-down` class to show an element only on a given interval of screen sizes. For example, `.hidden-sm-down.hidden-xl-up` shows the element only on medium and large viewports. Using multiple `.hidden-*-up` classes or multiple `.hidden-*-down` classes is redundant and pointless. -* These classes don't attempt to accommodate less common cases where an element's visibility can't be expressed as a single contiguous range of viewport breakpoint sizes; you will instead need to use custom CSS in such cases. - -<table class="table table-bordered table-striped responsive-utilities table-responsive"> - <thead> - <tr> - <th></th> - <th> - Extra small devices - <small>Portrait phones (<576px)</small> - </th> - <th> - Small devices - <small>Landscape phones (≥576px - <768px)</small> - </th> - <th> - Medium devices - <small>Tablets (≥768px - <992px)</small> - </th> - <th> - Large devices - <small>Desktops (≥992px - <1200px)</small> - </th> - <th> - Extra large devices - <small>Desktops (≥1200px)</small> - </th> - </tr> - </thead> - <tbody> - <tr> - <th scope="row"><code>.hidden-xs-down</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - </tr> - <tr> - <th scope="row"><code>.hidden-sm-down</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - </tr> - <tr> - <th scope="row"><code>.hidden-md-down</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - </tr> - <tr> - <th scope="row"><code>.hidden-lg-down</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-visible">Visible</td> - </tr> - <tr> - <th scope="row"><code>.hidden-xl-down</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - </tr> - <tr> - <th scope="row"><code>.hidden-xs-up</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - </tr> - <tr> - <th scope="row"><code>.hidden-sm-up</code></th> - <td class="is-visible">Visible</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - </tr> - <tr> - <th scope="row"><code>.hidden-md-up</code></th> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - </tr> - <tr> - <th scope="row"><code>.hidden-lg-up</code></th> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-hidden">Hidden</td> - <td class="is-hidden">Hidden</td> - </tr> - <tr> - <th scope="row"><code>.hidden-xl-up</code></th> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-visible">Visible</td> - <td class="is-hidden">Hidden</td> - </tr> - </tbody> -</table> - -## Print classes - -Similar to the regular responsive classes, use these for toggling content for print. - -<table class="table table-bordered table-striped responsive-utilities table-responsive"> - <thead> - <tr> - <th>Class</th> - <th>Browser</th> - <th>Print</th> - </tr> - </thead> - <tbody> - <tr> - <th><code>.visible-print-block</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-visible">Visible<br>(as <code>display: block</code>)</td> - </tr> - <tr> - <th><code>.visible-print-inline</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-visible">Visible<br>(as <code>display: inline</code>)</td> - </tr> - <tr> - <th><code>.visible-print-inline-block</code></th> - <td class="is-hidden">Hidden</td> - <td class="is-visible">Visible<br>(as <code>display: inline-block</code>)</td> - </tr> - <tr> - <th><code>.hidden-print</code></th> - <td class="is-visible">Visible</td> - <td class="is-hidden">Hidden</td> - </tr> - </tbody> -</table> - -## Test cases - -Resize your browser or load on different devices to test the responsive utility classes. - -Green checkmarks indicate the element **is visible** in your current viewport. - -<div class="row responsive-utilities-test visible-on"> - <div class="col-6 col-sm-3"> - <span class="hidden-sm-up visible">✔ Visible on extra small</span> - <span class="hidden-xs-down not-visible">Extra small</span> - </div> - <div class="col-6 col-sm-3"> - <span class="hidden-md-up visible">✔ Visible on small or narrower</span> - <span class="hidden-sm-down not-visible">Small or narrower</span> - </div> - <div class="col-6 col-sm-3"> - <span class="hidden-lg-up visible">✔ Visible on medium or narrower</span> - <span class="hidden-md-down not-visible">Medium or narrower</span> - </div> - <div class="col-6 col-sm-3"> - <span class="hidden-xl-up visible">✔ Visible on large or narrower</span> - <span class="hidden-lg-down not-visible">Large or narrower</span> - </div> -</div> - -<hr> - -<div class="row responsive-utilities-test visible-on"> - <div class="col-6 col-sm-3"> - <span class="hidden-xs-down visible">✔ Visible on small or wider</span> - <span class="hidden-sm-up not-visible">Small or wider</span> - </div> - <div class="col-6 col-sm-3"> - <span class="hidden-sm-down visible">✔ Visible on medium or wider</span> - <span class="hidden-md-up not-visible">Medium or wider</span> - </div> - <div class="col-6 col-sm-3"> - <span class="hidden-md-down visible">✔ Visible on large or wider</span> - <span class="hidden-lg-up not-visible">Large or wider</span> - </div> - <div class="col-6 col-sm-3"> - <span class="hidden-lg-down visible">✔ Visible on extra large</span> - <span class="hidden-xl-up not-visible">Extra large</span> - </div> -</div> - -<hr> - -<div class="row responsive-utilities-test visible-on"> - <div class="col-6 col-sm-4"> - <span class="hidden-sm-up visible">✔ Your viewport is exactly extra small</span> - <span class="hidden-xs-down not-visible">Your viewport is NOT exactly extra small</span> - </div> - <div class="col-6 col-sm-4"> - <span class="hidden-xs-down hidden-md-up visible">✔ Your viewport is exactly small</span> - <span class="hidden-sm-only not-visible">Your viewport is NOT exactly small</span> - </div> - <div class="col-6 col-sm-4"> - <span class="hidden-sm-down hidden-lg-up visible">✔ Your viewport is exactly medium</span> - <span class="hidden-md-only not-visible">Your viewport is NOT exactly medium</span> - </div> - </div> - -<div class="row responsive-utilities-test visible-on"> - <div class="col-6 col-sm-4"> - <span class="hidden-md-down hidden-xl-up visible">✔ Your viewport is exactly large</span> - <span class="hidden-lg-only not-visible">Your viewport is NOT exactly large</span> - </div> - <div class="col-6 col-sm-4"> - <span class="hidden-lg-down visible">✔ Your viewport is exactly extra large</span> - <span class="hidden-xl-only not-visible">Your viewport is NOT exactly extra large</span> - </div> -</div> diff --git a/docs/layout/utilities-for-layout.md b/docs/layout/utilities-for-layout.md new file mode 100644 index 000000000..12ba7006c --- /dev/null +++ b/docs/layout/utilities-for-layout.md @@ -0,0 +1,31 @@ +--- +layout: docs +title: Utilities for layout +description: Use any of our dozens of responsive utility classes for showing, hiding, aligning, and spacing content. +group: layout +--- + +For faster mobile-friendly and responsive development, Bootstrap includes dozens of utility classes for showing, hiding, aligning, and spacing content. Below is a primer on what's included in Bootstrap and how these utilities can help you with layout. + +## Contents + +* Will be replaced with the ToC, excluding the "Contents" header +{:toc} + +## Changing `display` + +Use our `display` utilities for responsively toggling common values of the `display` property. Mix it with our grid system, content, or components to show or hide them across specific viewports. + +## Flexbox options + +Bootstrap 4 is built with flexbox, but not every element's `display` has been changed to `display: flex` as this would add many unnecessary overrides and unexpectedly change key browser behaviors. Most of [our components](/components/) are built with flexbox enabled. + +Should you need to add `display: flex` to an element, do so with `.d-flex` or one of the responsive variants (e.g., `.d-sm-flex`). You'll need this class or `display` value to allow the use of our extra [flexbox utilities](/utilities/flexbox/) for sizing, alignment, spacing, and more. + +## Margin and padding + +Use the `margin` and `padding` [spacing utilities](/utilities/spacing/) to control how elements and components are spaced and sized. Bootstrap 4 includes a five-level scale for spacing utilities, based on a `1rem` value default `$spacer` variable. Choose values for all viewports (e.g., `.mr-3` for `margin-right: 1rem`), or pick responsive variants to target specific viewports (e.g., `.mr-md-3` for `margin-right: 1rem` starting at the `md` breakpoint). + +## Toggle `visibility` + +When toggling `display` isn't needed, you can toggle the `visibility` of an element with our [visibility utilities](/utilities/visibility/). Invisible elements will still affect the layout of the page, but are visually hidden from visitors. |
