0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-24 21:54:24 +01:00
Bootstrap/scss/layout/_containers.scss

58 lines
1.7 KiB
SCSS
Raw Normal View History

@use "../config" as *;
@use "breakpoints" as *;
2020-02-03 21:02:53 +01:00
// Container widths
//
// Set the container width, and override it for fixed navbars in media queries.
// Container mixins
@mixin make-container($gutter: $container-padding-x) {
--#{$prefix}gutter-x: #{$gutter};
--#{$prefix}gutter-y: 0;
width: 100%;
padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
margin-right: auto;
margin-left: auto;
}
2020-02-03 21:02:53 +01:00
2025-02-19 23:08:52 -08:00
@layer layout {
@if $enable-container-classes {
// Single container class with breakpoint max-widths
.container,
// 100% wide container at all breakpoints
.container-fluid {
@include make-container();
2020-02-03 21:02:53 +01:00
}
2025-02-19 23:08:52 -08:00
// Responsive containers that are 100% wide until a breakpoint
@each $breakpoint, $container-max-width in $container-max-widths {
.container-#{$breakpoint} {
@extend .container-fluid;
2020-02-03 21:02:53 +01:00
}
2025-02-19 23:08:52 -08:00
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
%responsive-container-#{$breakpoint} {
max-width: $container-max-width;
}
2020-02-03 21:02:53 +01:00
2025-02-19 23:08:52 -08:00
// Extend each breakpoint which is smaller or equal to the current breakpoint
$extend-breakpoint: true;
@each $name, $width in $grid-breakpoints {
@if ($extend-breakpoint) {
.container#{breakpoint-infix($name, $grid-breakpoints)} {
@extend %responsive-container-#{$breakpoint};
}
2020-02-03 21:02:53 +01:00
2025-02-19 23:08:52 -08:00
// Once the current breakpoint is reached, stop extending
@if ($breakpoint == $name) {
$extend-breakpoint: false;
}
2020-02-03 21:02:53 +01:00
}
}
}
}
}
}