我正在开发一个Bootstrap 3项目,并从新的Bootstrap 4中解除了一些代码,以便拥有my-1
,pb-5
等类。它适用于大屏幕。但是当我使用小屏幕设备查看页面时,边距和填充太大了。对此有什么解决方案?
以下是生成这些类的代码(_spacing.scss):
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@each $prop, $abbrev in (margin: m, padding: p) {
@each $size, $length in $spacers {
.#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
.#{$abbrev}t#{$infix}-#{$size},
.#{$abbrev}y#{$infix}-#{$size} {
#{$prop}-top: $length !important;
}
.#{$abbrev}r#{$infix}-#{$size},
.#{$abbrev}x#{$infix}-#{$size} {
#{$prop}-right: $length !important;
}
.#{$abbrev}b#{$infix}-#{$size},
.#{$abbrev}y#{$infix}-#{$size} {
#{$prop}-bottom: $length !important;
}
.#{$abbrev}l#{$infix}-#{$size},
.#{$abbrev}x#{$infix}-#{$size} {
#{$prop}-left: $length !important;
}
}
}
// Some special margin utils
.m#{$infix}-auto { margin: auto !important; }
.mt#{$infix}-auto,
.my#{$infix}-auto {
margin-top: auto !important;
}
.mr#{$infix}-auto,
.mx#{$infix}-auto {
margin-right: auto !important;
}
.mb#{$infix}-auto,
.my#{$infix}-auto {
margin-bottom: auto !important;
}
.ml#{$infix}-auto,
.mx#{$infix}-auto {
margin-left: auto !important;
}
}
}
答案 0 :(得分:0)
正如您在SASS代码中看到的那样,该函数接受一个断点,该断点用于构造生成响应的margin / padding类的infix
...
m-sm-*
,m-md-*
,m-lg-*
等......
当然Bootstrap 3不会以相同的方式使用它,因为它没有$grid-breakpoints
数组/映射。您需要“提升”更多代码,或者只需完全切换到Bootstrap 4。