diff --git a/scss/_variables.scss b/scss/_variables.scss index 0be9a9ab13..8d7c56afa2 100644 --- a/scss/_variables.scss +++ b/scss/_variables.scss @@ -271,6 +271,7 @@ $paragraph-margin-bottom: 1rem !default; // Define the minimum dimensions at which your layout will change, // adapting to different screen sizes, for use in media queries. +// scss-docs-start grid-breakpoints $grid-breakpoints: ( xs: 0, sm: 576px, @@ -279,6 +280,7 @@ $grid-breakpoints: ( xl: 1200px, xxl: 1400px ) !default; +// scss-docs-end grid-breakpoints @include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); @include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints"); @@ -288,6 +290,7 @@ $grid-breakpoints: ( // // Define the maximum width of `.container` for different screen sizes. +// scss-docs-start container-max-widths $container-max-widths: ( sm: 540px, md: 720px, @@ -295,6 +298,7 @@ $container-max-widths: ( xl: 1140px, xxl: 1320px ) !default; +// scss-docs-end container-max-widths @include _assert-ascending($container-max-widths, "$container-max-widths"); @@ -795,6 +799,7 @@ $form-validation-states: ( // Warning: Avoid customizing these values. They're used for a bird's eye view // of components dependent on the z-axis and are designed to all work together. +// scss-docs-start zindex-stack $zindex-dropdown: 1000 !default; $zindex-sticky: 1020 !default; $zindex-fixed: 1030 !default; @@ -802,6 +807,7 @@ $zindex-modal-backdrop: 1040 !default; $zindex-modal: 1050 !default; $zindex-popover: 1060 !default; $zindex-tooltip: 1070 !default; +// scss-docs-end zindex-stack // Navs diff --git a/site/assets/scss/_layout.scss b/site/assets/scss/_layout.scss new file mode 100644 index 0000000000..116df720ee --- /dev/null +++ b/site/assets/scss/_layout.scss @@ -0,0 +1,35 @@ +.bd-layout { + @include media-breakpoint-up(md) { + display: grid; + gap: $grid-gutter-width; + grid-template-areas: + "sidebar intro" + "sidebar toc" + "sidebar content"; + grid-template-columns: 1fr 3fr; + } + + @include media-breakpoint-up(lg) { + grid-template-areas: + "sidebar intro toc" + "sidebar content toc"; + grid-template-columns: 1fr 4fr 1fr; + } +} + +.bd-sidebar { + grid-area: sidebar; +} + +.bd-intro { + grid-area: intro; +} + +.bd-toc { + grid-area: toc; +} + +.bd-content { + grid-area: content; + min-width: 1px; // Fix width when bd-content contains a `
` https://github.com/twbs/bootstrap/issues/25410 +} diff --git a/site/assets/scss/_toc.scss b/site/assets/scss/_toc.scss index cc9a6d6ddf..17ac4b819c 100644 --- a/site/assets/scss/_toc.scss +++ b/site/assets/scss/_toc.scss @@ -1,6 +1,6 @@ -// stylelint-disable selector-max-type, selector-max-compound-selectors +// stylelint-disable selector-max-type -.bd-toc-wrap { +.bd-toc { @include media-breakpoint-up(lg) { @supports (position: sticky) { position: sticky; @@ -11,34 +11,34 @@ overflow-y: auto; } } -} -.bd-toc nav { - @include font-size(.875rem); - - ul { - padding-left: 0; - list-style: none; + nav { + @include font-size(.875rem); ul { - padding-left: 1rem; - margin-top: .25rem; + padding-left: 0; + list-style: none; + + ul { + padding-left: 1rem; + margin-top: .25rem; + } + } + + li { + margin-bottom: .25rem; + } + + a { + color: inherit; + + &:not(:hover) { + text-decoration: none; + } + + code { + font: inherit; + } } } - - li { - margin-bottom: .25rem; - } - - a { - color: inherit; - } - - a:not(:hover) { - text-decoration: none; - } - - a code { - font: inherit; - } } diff --git a/site/assets/scss/docs.scss b/site/assets/scss/docs.scss index 53622b9c2c..4da387aa4a 100644 --- a/site/assets/scss/docs.scss +++ b/site/assets/scss/docs.scss @@ -37,6 +37,7 @@ @import "content"; @import "skippy"; @import "sidebar"; +@import "layout"; @import "toc"; @import "footer"; @import "component-examples"; diff --git a/site/content/docs/4.3/components/dropdowns.md b/site/content/docs/4.3/components/dropdowns.md index 6b3fe8fc9e..5260831da9 100644 --- a/site/content/docs/4.3/components/dropdowns.md +++ b/site/content/docs/4.3/components/dropdowns.md @@ -607,7 +607,7 @@ By default, a dropdown menu is automatically positioned 100% from the top and al If you want to use responsive alignment, disable dynamic positioning by adding the `data-display="static"` attribute and use the responsive variation classes. -To align **right** the dropdown menu with the given breakpoint or larger, add `.dropdown-menu{-sm|-md|-lg|-xl}-right`. +To align **right** the dropdown menu with the given breakpoint or larger, add `.dropdown-menu{-sm|-md|-lg|-xl|-xxl}-right`. {{< example >}}@@ -622,7 +622,7 @@ To align **right** the dropdown menu with the given breakpoint or larger, add `.{{< /example >}} -To align **left** the dropdown menu with the given breakpoint or larger, add `.dropdown-menu-right` and `.dropdown-menu{-sm|-md|-lg|-xl}-left`. +To align **left** the dropdown menu with the given breakpoint or larger, add `.dropdown-menu-right` and `.dropdown-menu{-sm|-md|-lg|-xl|-xxl}-left`. {{< example >}}diff --git a/site/content/docs/4.3/components/list-group.md b/site/content/docs/4.3/components/list-group.md index a8aad394d4..c050e164d4 100644 --- a/site/content/docs/4.3/components/list-group.md +++ b/site/content/docs/4.3/components/list-group.md @@ -96,7 +96,7 @@ Add `.list-group-flush` to remove some borders and rounded corners to render lis ## Horizontal -Add `.list-group-horizontal` to change the layout of list group items from vertical to horizontal across all breakpoints. Alternatively, choose a responsive variant `.list-group-horizontal-{sm|md|lg|xl}` to make a list group horizontal starting at that breakpoint's `min-width`. Currently **horizontal list groups cannot be combined with flush list groups.** +Add `.list-group-horizontal` to change the layout of list group items from vertical to horizontal across all breakpoints. Alternatively, choose a responsive variant `.list-group-horizontal-{sm|md|lg|xl|xxl}` to make a list group horizontal starting at that breakpoint's `min-width`. Currently **horizontal list groups cannot be combined with flush list groups.** **ProTip:** Want equal-width list group items when horizontal? Add `.flex-fill` to each list group item. diff --git a/site/content/docs/4.3/components/navbar.md b/site/content/docs/4.3/components/navbar.md index 4ae3dddc4a..e50821b8c0 100644 --- a/site/content/docs/4.3/components/navbar.md +++ b/site/content/docs/4.3/components/navbar.md @@ -10,7 +10,7 @@ toc: true Here's what you need to know before getting started with the navbar: -- Navbars require a wrapping `.navbar` with `.navbar-expand{-sm|-md|-lg|-xl}` for responsive collapsing and [color scheme](#color-schemes) classes. +- Navbars require a wrapping `.navbar` with `.navbar-expand{-sm|-md|-lg|-xl|-xxl}` for responsive collapsing and [color scheme](#color-schemes) classes. - Navbars and their contents are fluid by default. Change the [container](#containers) to limit their horizontal width in different ways. - Use our [spacing]({{< docsref "/utilities/spacing" >}}) and [flex]({{< docsref "/utilities/flex" >}}) utility classes for controlling spacing and alignment within navbars. - Navbars are responsive by default, but you can easily modify them to change that. Responsive behavior depends on our Collapse JavaScript plugin. @@ -481,7 +481,7 @@ Also note that **`.sticky-top` uses `position: sticky`, which [isn't fully suppo ## Responsive behaviors -Navbars can utilize `.navbar-toggler`, `.navbar-collapse`, and `.navbar-expand{-sm|-md|-lg|-xl}` classes to change when their content collapses behind a button. In combination with other utilities, you can easily choose when to show or hide particular elements. +Navbars can utilize `.navbar-toggler`, `.navbar-collapse`, and `.navbar-expand{-sm|-md|-lg|-xl|-xxl}` classes to change when their content collapses behind a button. In combination with other utilities, you can easily choose when to show or hide particular elements. For navbars that never collapse, add the `.navbar-expand` class on the navbar. For navbars that always collapse, don't add any `.navbar-expand` class. diff --git a/site/content/docs/4.3/content/tables.md b/site/content/docs/4.3/content/tables.md index f42d37d683..76b799fca3 100644 --- a/site/content/docs/4.3/content/tables.md +++ b/site/content/docs/4.3/content/tables.md @@ -721,7 +721,7 @@ You can also put the `+` on the top of the table with `.caption-top`. ## Responsive tables -Responsive tables allow tables to be scrolled horizontally with ease. Make any table responsive across all viewports by wrapping a `.table` with `.table-responsive`. Or, pick a maximum breakpoint with which to have a responsive table up to by using `.table-responsive{-sm|-md|-lg|-xl}`. +Responsive tables allow tables to be scrolled horizontally with ease. Make any table responsive across all viewports by wrapping a `.table` with `.table-responsive`. Or, pick a maximum breakpoint with which to have a responsive table up to by using `.table-responsive{-sm|-md|-lg|-xl|-xxl}`. {{< callout warning >}} ##### Vertical clipping/truncation @@ -802,7 +802,7 @@ Across every breakpoint, use `.table-responsive` for horizontally scrolling tabl ### Breakpoint specific -Use `.table-responsive{-sm|-md|-lg|-xl}` as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. +Use `.table-responsive{-sm|-md|-lg|-xl|-xxl}` as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. **These tables may appear broken until their responsive styles apply at specific viewport widths.** diff --git a/site/content/docs/4.3/examples/grid/index.html b/site/content/docs/4.3/examples/grid/index.html index 0d32279f39..9c01604be5 100644 --- a/site/content/docs/4.3/examples/grid/index.html +++ b/site/content/docs/4.3/examples/grid/index.html @@ -46,6 +46,12 @@ include_js: false .col-xl-4++.col-xxl-4+.col-xxl-4+.col-xxl-4+Three equal columns
Get three equal-width columns starting at desktops and scaling to large desktops. On mobile devices, tablets and below, the columns will automatically stack.
@@ -168,7 +174,7 @@ include_js: false
Containers
-Additional classes added in Bootstrap v4.4 allow containers that are 100% wide until a particular breakpoint.
+Additional classes added in Bootstrap v4.4 allow containers that are 100% wide until a particular breakpoint. v5 adds a new
xxl
breakpoint..container@@ -176,4 +182,5 @@ include_js: false.container-md.container-lg.container-xl+.container-xxl.container-fluiddiff --git a/site/content/docs/4.3/examples/navbars/index.html b/site/content/docs/4.3/examples/navbars/index.html index 6cd9ae380e..8a5d4113c4 100644 --- a/site/content/docs/4.3/examples/navbars/index.html +++ b/site/content/docs/4.3/examples/navbars/index.html @@ -198,6 +198,40 @@ extra_css: + +