annotate default/assets/scss/vendors/bootstrap/mixins/_grid-framework.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 // Framework grid generation
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2 //
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 // Used only by Bootstrap to generate the correct number of grid classes given
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 // any value of `$grid-columns`.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 // Common properties for all breakpoints
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 %grid-column {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 position: relative;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 width: 100%;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 min-height: 1px; // Prevent columns from collapsing when empty
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 padding-right: ($gutter / 2);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 padding-left: ($gutter / 2);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 @each $breakpoint in map-keys($breakpoints) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 $infix: breakpoint-infix($breakpoint, $breakpoints);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 // Allow columns to stretch full width below their breakpoints
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 @for $i from 1 through $columns {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 .col#{$infix}-#{$i} {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 @extend %grid-column;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 .col#{$infix},
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 .col#{$infix}-auto {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 @extend %grid-column;
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 @include media-breakpoint-up($breakpoint, $breakpoints) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 // Provide basic `.col-{bp}` classes for equal-width flexbox columns
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 .col#{$infix} {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 flex-basis: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 flex-grow: 1;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 max-width: 100%;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 .col#{$infix}-auto {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 flex: 0 0 auto;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 width: auto;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 max-width: none; // Reset earlier grid tiers
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 @for $i from 1 through $columns {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 .col#{$infix}-#{$i} {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 @include make-col($i, $columns);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49 @for $i from 1 through $columns {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 .order#{$infix}-#{$i} {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51 order: $i;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56 }