sass - Bootstrap 5网格,如何在不同的断点处自定义网格排水沟(不使用实用程序类)?
问题描述
如何自定义 Bootstrap 5 在不同断点处具有不同的网格排水沟?我不想使用网格间距实用程序类,因为它们会在标记中到处都是硬编码并且很难更改。
看起来 Bootstrap 5 将此变量作为默认的装订线宽度:
$grid-gutter-width: 1.5rem;
我想要的是这样的(这些值只是为了说明这个想法):
$grid-gutter-width-sm: 1rem;
$grid-gutter-width-md: 1.5rem;
$grid-gutter-width-lg: 2rem;
$grid-gutter-width-xl: 2.5rem;
解决方案
这很棘手,因为排水沟用于构建所有container*
,row
和col*
. 您可以使用每个断点的装订线宽度制作自定义地图,然后迭代地图以在每个断点处重新构建网格:
@import "functions";
@import "variables";
@import "mixins";
$custom-gutter-widths: (
sm: 1rem,
md: 1.5rem,
lg: 2rem,
xl: 2.5rem,
xxl: 3rem,
);
@import "bootstrap";
@each $breakpoint, $gutterwidth in $custom-gutter-widths {
$container-padding-x: $gutterwidth*.5;
$grid-gutter-width: $gutterwidth;
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
.container,
.container-fluid {
@include make-container();
}
.row {
@include make-row();
> * {
@include make-col-ready();
}
}
@include make-grid-columns();
}
}
注意:这会产生很多额外的 CSS!
推荐阅读
- apache - 如何在 Apache 配置中隐藏 URL 中的查询参数?
- python - 在 Eve 的 pre-put 回调中从数据库中获取项目的信息
- angular - TS2345:“RolesGuard”类型的参数不可分配给“CanActivate”类型的参数
- autosar - adaptive AUTOSAR - difference between function group and application?
- package - Installing Racket Packages without installing Dr Racket
- elasticsearch - 如何使用映射将符号映射到弹性搜索中的单词?
- sql - Oracle 嵌套表约束
- outlook - 64 位应用程序中的 .msg 预览不起作用
- c# - 如果存在,如何删除最后一个字符串元素不必要的文本?
- vb.net - 需要 STMP 身份验证