annotate default/assets/scss/vendors/bootstrap/mixins/_grid.scss @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 /// Grid system
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2 //
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 // Generate semantic grid columns with these mixins.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 @mixin make-container() {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 margin-right: auto;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 margin-left: auto;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 padding-right: ($grid-gutter-width / 2);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 padding-left: ($grid-gutter-width / 2);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 width: 100%;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 // For each breakpoint, define the maximum width of the container in a media query
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 @each $breakpoint, $container-max-width in $max-widths {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 @include media-breakpoint-up($breakpoint, $breakpoints) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 max-width: $container-max-width;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 @mixin make-row() {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 display: flex;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 flex-wrap: wrap;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 margin-right: ($grid-gutter-width / -2);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 margin-left: ($grid-gutter-width / -2);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 @mixin make-col-ready() {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 position: relative;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 // Prevent columns from becoming too narrow when at smaller grid tiers by
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 // always setting `width: 100%;`. This works because we use `flex` values
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 // later on to override this initial width.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 width: 100%;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 min-height: 1px; // Prevent collapsing
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 padding-right: ($grid-gutter-width / 2);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 padding-left: ($grid-gutter-width / 2);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 @mixin make-col($size, $columns: $grid-columns) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 flex: 0 0 percentage($size / $columns);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 // Add a `max-width` to ensure content within each column does not blow out
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 // do not appear to require this.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 max-width: percentage($size / $columns);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 }