在 Neat 2 中移除外部排水沟
Remove outside gutters in Neat 2
我已经升级到 Bourbon Neat v2,其中包括在容器网格的左侧和右侧添加了排水沟。
在 v1
中,我可以在 v2
中的 span-columns mixin to eat the gutters either side of the element, however, in v2
this mixin has been removed. There is a grid-collapse 函数中使用 block-collapse
,但这并不像我预期的那样有效。我当前的标记如下(为简洁起见进行了缩减):
.wrapper {
@include grid-container; // columns: 12, gutter: 1rem
@include grid-visual(lime);
}
.sidebar {
@include grid-columns(2 of 12);
}
.container {
@include grid-columns(10 of 12);
}
如何移除外部间距,折叠第 2 列和第 3 列之间的间距,以便我的边栏和容器彼此相邻?
您查看 grid-collapse
混合宏来处理这个问题是正确的。
要像您描述的那样制作齐平网格,您的标记将是:
.wrapper {
@include grid-container;
overflow-x: hidden;
}
.wrapper-inner {
@include grid-collapse;
}
.sidebar {
@include grid-column(2 of 12);
}
.container {
@include grid-column(10 of 12);
}
只是扩展了最佳答案,您还需要确保在使用多个网格时在 grid-media
声明中包含 grid-collapse
,因为 grid-collapse
是基于您的每个网格的装订线值。
.wrapper {
@include grid-container;
}
.wrapper-inner {
@include grid-collapse;
@include grid-media($sm-neat-grid, $md-neat-grid, $lg-neat-grid) {
@include grid-collapse;
}
}
.sidebar {
@include grid-column(1 of 1);
@include grid-media($sm-neat-grid, $md-neat-grid) {
@include grid-column(3 of 12)
}
@include grid-media($lg-neat-grid) {
@include grid-column(5 of 15)
}
}
.container {
@include grid-column(1 of 1);
@include grid-media($sm-neat-grid, $md-neat-grid) {
@include grid-column(9 of 12)
}
@include grid-media($lg-neat-grid) {
@include grid-column(10 of 15)
}
}
顺便说一下,我的示例使用的是 grid-media
的修改版本,它允许声明多个网格,这些网格将共享相同的值但间距大小不同:
// overrides bourbon-neat grid-media to include more than one grid
@mixin grid-media($grids...) {
@each $grid in $grids {
$_media: _retrieve-neat-setting($grid, media);
$_query: _neat-parse-media($_media);
@media #{$_query} {
$_default-neat-grid: $neat-grid;
$neat-grid: map-merge($neat-grid, $grid) !global;
@content;
$neat-grid: $_default-neat-grid !global;
}
}
}
我这辈子都记不起我从哪里得到它了,但我在我所有的项目中都用过它
我已经升级到 Bourbon Neat v2,其中包括在容器网格的左侧和右侧添加了排水沟。
在 v1
中,我可以在 v2
中的 span-columns mixin to eat the gutters either side of the element, however, in v2
this mixin has been removed. There is a grid-collapse 函数中使用 block-collapse
,但这并不像我预期的那样有效。我当前的标记如下(为简洁起见进行了缩减):
.wrapper {
@include grid-container; // columns: 12, gutter: 1rem
@include grid-visual(lime);
}
.sidebar {
@include grid-columns(2 of 12);
}
.container {
@include grid-columns(10 of 12);
}
如何移除外部间距,折叠第 2 列和第 3 列之间的间距,以便我的边栏和容器彼此相邻?
您查看 grid-collapse
混合宏来处理这个问题是正确的。
要像您描述的那样制作齐平网格,您的标记将是:
.wrapper {
@include grid-container;
overflow-x: hidden;
}
.wrapper-inner {
@include grid-collapse;
}
.sidebar {
@include grid-column(2 of 12);
}
.container {
@include grid-column(10 of 12);
}
只是扩展了最佳答案,您还需要确保在使用多个网格时在 grid-media
声明中包含 grid-collapse
,因为 grid-collapse
是基于您的每个网格的装订线值。
.wrapper {
@include grid-container;
}
.wrapper-inner {
@include grid-collapse;
@include grid-media($sm-neat-grid, $md-neat-grid, $lg-neat-grid) {
@include grid-collapse;
}
}
.sidebar {
@include grid-column(1 of 1);
@include grid-media($sm-neat-grid, $md-neat-grid) {
@include grid-column(3 of 12)
}
@include grid-media($lg-neat-grid) {
@include grid-column(5 of 15)
}
}
.container {
@include grid-column(1 of 1);
@include grid-media($sm-neat-grid, $md-neat-grid) {
@include grid-column(9 of 12)
}
@include grid-media($lg-neat-grid) {
@include grid-column(10 of 15)
}
}
顺便说一下,我的示例使用的是 grid-media
的修改版本,它允许声明多个网格,这些网格将共享相同的值但间距大小不同:
// overrides bourbon-neat grid-media to include more than one grid
@mixin grid-media($grids...) {
@each $grid in $grids {
$_media: _retrieve-neat-setting($grid, media);
$_query: _neat-parse-media($_media);
@media #{$_query} {
$_default-neat-grid: $neat-grid;
$neat-grid: map-merge($neat-grid, $grid) !global;
@content;
$neat-grid: $_default-neat-grid !global;
}
}
}
我这辈子都记不起我从哪里得到它了,但我在我所有的项目中都用过它