diff options
| author | Mark Otto <[email protected]> | 2020-04-02 11:44:07 -0700 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2020-04-13 13:55:34 -0700 |
| commit | 33a4e8ff9b7ef7ec00e769d7a70d3634c19b08df (patch) | |
| tree | 184e24893803bbbf4c102b66402da4f8638f56fc /site/content/docs/4.3/layout/overview.md | |
| parent | bb3e5f712a3b1b79d85a6f15ad32bafcf6c77f66 (diff) | |
| download | bootstrap-33a4e8ff9b7ef7ec00e769d7a70d3634c19b08df.tar.xz bootstrap-33a4e8ff9b7ef7ec00e769d7a70d3634c19b08df.zip | |
Rewrite grid docs to account for new grid tier
- Breaks grid content across multiple pages
- Updates mentions of grid tiers from five to six
- Rewrites how it works sections to reference new options and tiers
Diffstat (limited to 'site/content/docs/4.3/layout/overview.md')
| -rw-r--r-- | site/content/docs/4.3/layout/overview.md | 277 |
1 files changed, 0 insertions, 277 deletions
diff --git a/site/content/docs/4.3/layout/overview.md b/site/content/docs/4.3/layout/overview.md deleted file mode 100644 index 3ad386121..000000000 --- a/site/content/docs/4.3/layout/overview.md +++ /dev/null @@ -1,277 +0,0 @@ ---- -layout: docs -title: Overview -description: Components and options for laying out your Bootstrap project, including wrapping containers, a powerful grid system, and responsive utility classes. -group: layout -aliases: "/docs/4.3/layout/" -toc: true ---- - -## Containers - -Containers are the most basic layout element in Bootstrap and are **required when using our default grid system**. Containers are used to contain, pad, and (sometimes) center the content within them. While containers *can* be nested, most layouts do not require a nested container. - -Bootstrap comes with three different containers: - -- `.container`, which sets a `max-width` at each responsive breakpoint -- `.container-fluid`, which is `width: 100%` at all breakpoints -- `.container-{breakpoint}`, which is `width: 100%` until the specified breakpoint - -The table below illustrates how each container's `max-width` compares to the original `.container` and `.container-fluid` across each breakpoint. - -See them in action and compare them in our [Grid example]({{< docsref "/examples/grid#containers" >}}). - -<table class="table text-left"> - <thead> - <tr> - <th></th> - <th> - Extra small<br> - <span class="font-weight-normal"><576px</span> - </th> - <th> - Small<br> - <span class="font-weight-normal">≥576px</span> - </th> - <th> - Medium<br> - <span class="font-weight-normal">≥768px</span> - </th> - <th> - Large<br> - <span class="font-weight-normal">≥992px</span> - </th> - <th> - Extra large<br> - <span class="font-weight-normal">≥1200px</span> - </th> - </tr> - </thead> - <tbody> - <tr> - <td><code>.container</code></td> - <td class="text-muted">100%</td> - <td>540px</td> - <td>720px</td> - <td>960px</td> - <td>1140px</td> - </tr> - <tr> - <td><code>.container-sm</code></td> - <td class="text-muted">100%</td> - <td>540px</td> - <td>720px</td> - <td>960px</td> - <td>1140px</td> - </tr> - <tr> - <td><code>.container-md</code></td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td>720px</td> - <td>960px</td> - <td>1140px</td> - </tr> - <tr> - <td><code>.container-lg</code></td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td>960px</td> - <td>1140px</td> - </tr> - <tr> - <td><code>.container-xl</code></td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td>1140px</td> - </tr> - <tr> - <td><code>.container-fluid</code></td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - <td class="text-muted">100%</td> - </tr> - </tbody> -</table> - -### All-in-one - -Our default `.container` class is a responsive, fixed-width container, meaning its `max-width` changes at each breakpoint. - -{{< highlight html >}} -<div class="container"> - <!-- Content here --> -</div> -{{< /highlight >}} - -### Fluid - -Use `.container-fluid` for a full width container, spanning the entire width of the viewport. - -{{< highlight html >}} -<div class="container-fluid"> - ... -</div> -{{< /highlight >}} - -### Responsive - -Responsive containers are new in Bootstrap v4.4. They allow you to specify a class that is 100% wide until the specified breakpoint is reached, after which we apply `max-width`s for each of the higher breakpoints. For example, `.container-sm` is 100% wide to start until the `sm` breakpoint is reached, where it will scale up with `md`, `lg`, and `xl`. - -{{< highlight html >}} -<div class="container-sm">100% wide until small breakpoint</div> -<div class="container-md">100% wide until medium breakpoint</div> -<div class="container-lg">100% wide until large breakpoint</div> -<div class="container-xl">100% wide until extra large breakpoint</div> -{{< /highlight >}} - -## Responsive breakpoints - -Since Bootstrap is developed to be mobile first, we use a handful of [media queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) to create sensible breakpoints for our layouts and interfaces. These breakpoints are mostly based on minimum viewport widths and allow us to scale up elements as the viewport changes. - -Bootstrap primarily uses the following media query ranges—or breakpoints—in our source Sass files for our layout, grid system, and components. - -{{< highlight scss >}} -// Extra small devices (portrait phones, less than 576px) -// No media query for `xs` since this is the default in Bootstrap - -// Small devices (landscape phones, 576px and up) -@media (min-width: 576px) { ... } - -// Medium devices (tablets, 768px and up) -@media (min-width: 768px) { ... } - -// Large devices (desktops, 992px and up) -@media (min-width: 992px) { ... } - -// Extra large devices (large desktops, 1200px and up) -@media (min-width: 1200px) { ... } -{{< /highlight >}} - -Since we write our source CSS in Sass, all our media queries are available via Sass mixins: - -{{< highlight scss >}} -// No media query necessary for xs breakpoint as it's effectively `@media (min-width: 0) { ... }` -@include media-breakpoint-up(sm) { ... } -@include media-breakpoint-up(md) { ... } -@include media-breakpoint-up(lg) { ... } -@include media-breakpoint-up(xl) { ... } - -// Example: Hide starting at `min-width: 0`, and then show at the `sm` breakpoint -.custom-class { - display: none; -} -@include media-breakpoint-up(sm) { - .custom-class { - display: block; - } -} -{{< /highlight >}} - -We occasionally use media queries that go in the other direction (the given screen size *or smaller*): - -{{< highlight scss >}} -// Extra small devices (portrait phones, less than 576px) -@media (max-width: 575.98px) { ... } - -// Small devices (landscape phones, less than 768px) -@media (max-width: 767.98px) { ... } - -// Medium devices (tablets, less than 992px) -@media (max-width: 991.98px) { ... } - -// Large devices (desktops, less than 1200px) -@media (max-width: 1199.98px) { ... } - -// Extra large devices (large desktops) -// No media query since the extra-large breakpoint has no upper bound on its width -{{< /highlight >}} - -{{< callout info >}} -{{< partial "callout-info-mediaqueries-breakpoints.md" >}} -{{< /callout >}} - -Once again, these media queries are also available via Sass mixins: - -{{< highlight scss >}} -@include media-breakpoint-down(xs) { ... } -@include media-breakpoint-down(sm) { ... } -@include media-breakpoint-down(md) { ... } -@include media-breakpoint-down(lg) { ... } -// No media query necessary for xl breakpoint as it has no upper bound on its width - -// Example: Style from medium breakpoint and down -@include media-breakpoint-down(md) { - .custom-class { - display: block; - } -} -{{< /highlight >}} - -There are also media queries and mixins for targeting a single segment of screen sizes using the minimum and maximum breakpoint widths. - -{{< highlight scss >}} -// Extra small devices (portrait phones, less than 576px) -@media (max-width: 575.98px) { ... } - -// Small devices (landscape phones, 576px and up) -@media (min-width: 576px) and (max-width: 767.98px) { ... } - -// Medium devices (tablets, 768px and up) -@media (min-width: 768px) and (max-width: 991.98px) { ... } - -// Large devices (desktops, 992px and up) -@media (min-width: 992px) and (max-width: 1199.98px) { ... } - -// Extra large devices (large desktops, 1200px and up) -@media (min-width: 1200px) { ... } -{{< /highlight >}} - -These media queries are also available via Sass mixins: - -{{< highlight scss >}} -@include media-breakpoint-only(xs) { ... } -@include media-breakpoint-only(sm) { ... } -@include media-breakpoint-only(md) { ... } -@include media-breakpoint-only(lg) { ... } -@include media-breakpoint-only(xl) { ... } -{{< /highlight >}} - -Similarly, media queries may span multiple breakpoint widths: - -{{< highlight scss >}} -// Example -// Apply styles starting from medium devices and up to extra large devices -@media (min-width: 768px) and (max-width: 1199.98px) { ... } -{{< /highlight >}} - -The Sass mixin for targeting the same screen size range would be: - -{{< highlight scss >}} -@include media-breakpoint-between(md, xl) { ... } -{{< /highlight >}} - -## Z-index - -Several Bootstrap components utilize `z-index`, the CSS property that helps control layout by providing a third axis to arrange content. We utilize a default z-index scale in Bootstrap that's been designed to properly layer navigation, tooltips and popovers, modals, and more. - -These higher values start at an arbitrary number, high and specific enough to ideally avoid conflicts. We need a standard set of these across our layered components—tooltips, popovers, navbars, dropdowns, modals—so we can be reasonably consistent in the behaviors. There's no reason we couldn't have used `100`+ or `500`+. - -We don't encourage customization of these individual values; should you change one, you likely need to change them all. - -{{< highlight scss >}} -$zindex-dropdown: 1000 !default; -$zindex-sticky: 1020 !default; -$zindex-fixed: 1030 !default; -$zindex-modal-backdrop: 1040 !default; -$zindex-modal: 1050 !default; -$zindex-popover: 1060 !default; -$zindex-tooltip: 1070 !default; -{{< /highlight >}} - -To handle overlapping borders within components (e.g., buttons and inputs in input groups), we use low single digit `z-index` values of `1`, `2`, and `3` for default, hover, and active states. On hover/focus/active, we bring a particular element to the forefront with a higher `z-index` value to show their border over the sibling elements. |
