| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- @use "sass:math";
- // mixins for clearfix
- // ------------------------
- //TODO 提出到公共mixin
- @mixin clearfix() {
- zoom: 1;
- &::before,
- &::after {
- display: table;
- content: '';
- }
- &::after {
- clear: both;
- }
- }
- // mixins for grid system
- // ------------------------
- @mixin make-row($gutter: $width-grid_gutter) {
- position: relative;
- height: auto;
- margin-right: ($gutter * -0.5);
- margin-left: ($gutter * -0.5);
- @include clearfix();
- }
- @mixin make-grid-columns() {
- $index: 1;
- @for $i from $index through $width-grid_columns {
- $item: '.#{$module}-col-#{$i}, .#{$module}-col-xs-#{$i}, .#{$module}-col-sm-#{$i}, .#{$module}-col-md-#{$i}, .#{$module}-col-lg-#{$i}';
- #{$item} {
- position: relative;
- min-height: 1px;
- padding-right: ($width-grid_gutter * 0.5);
- padding-left: ($width-grid_gutter * 0.5);
- }
- }
- }
- @mixin float-grid-columns($class) {
- $index: 1;
- @for $i from $index through $width-grid_columns {
- $item: '.#{$module}-col#{$class}-#{$i}';
- #{$item} {
- flex: 0 0 auto;
- float: left;
- }
- }
- }
- @mixin loop-grid-columns($index, $class) {
- @for $i from 1 through ($index) {
- .#{$module}-col#{$class}-#{$i} {
- display: block;
- box-sizing: border-box;
- width: percentage(math.div($i , $width-grid_columns));
- }
- .#{$module}-col#{$class}-push-#{$i} {
- left: percentage(math.div($i , $width-grid_columns));
- }
- .#{$module}-col#{$class}-pull-#{$i} {
- right: percentage(math.div($i , $width-grid_columns));
- }
- .#{$module}-col#{$class}-offset-#{$i} {
- margin-left: percentage(math.div($i , $width-grid_columns));
- }
- .#{$module}-col#{$class}-order-#{$i} {
- order: $i;
- }
- }
- }
- // grid rtl mixin
- @mixin float-grid-columns-rtl($class) {
- $index: 1;
- @for $i from $index through $width-grid_columns {
- $item: '.#{$module}-col#{$class}-#{$i}';
- #{$item} {
- .#{$prefix}-rtl & {
- // float 应该改为镜像的
- float: right;
- }
- }
- }
- }
- @mixin loop-grid-columns-rtl($index, $class) {
- @for $i from 1 through ($index) {
- .#{$module}-col#{$class}-offset-#{$i} {
- .#{$prefix}-rtl & {
- margin-left: auto;
- margin-right: percentage(math.div($i , $width-grid_columns));
- }
- }
- }
- }
- @mixin make-grid($class: '') {
- @include float-grid-columns($class);
- @include loop-grid-columns($width-grid_columns, $class);
- @include float-grid-columns-rtl($class);
- @include loop-grid-columns-rtl($width-grid_columns, $class);
- }
|