0

我确定我错过了一些明显的东西……似乎我不得不为某些元素重新声明我的上下文。我在全局变量中声明了以下内容:

// General breakpoints
$bp1: 500px;
$bp2: 700px;
$bp3: 900px;
$bp4: 1100px;

// Grids and gutters
$grids: 3;
$grids: add-grid(6 at $bp1);
$grids: add-grid(12 at $bp3);

当我尝试在页脚中定位元素时,除非我声明可选的上下文变量,否则它将不起作用,例如。

footer .block-webform {
    @include grid-span(8, 5, 12);
}

如果没有最后一个值,该元素不会显示我将它放在全局网格上的位置。(当然,这是 >900px 宽度。)我想如果我想从全局更改它,我只需要指定上下文。

我是否错过了全局上下文声明中的某些内容?

在此先感谢您的帮助!

英石

4

2 回答 2

1

我在这个问题上挣扎(并且仍然在挣扎),因为我在制作嵌套网格时想知道同样的事情(即为什么我必须不断传递全局网格上下文?)。我发现,仅使用时grid-span,您需要始终跟踪并传递子网格的网格上下文。看看这个例子:

使用网格跨度的奇点嵌套列

它仅用于grid-span创建容器和嵌套网格,并且由于我有嵌套网格/上下文,因此我必须不断地将第三个参数grid-span作为当前网格数的第三个参数传入,以指示我在哪个容器/上下文中。这看起来就像你已经发现。

然而,正如 Singularity wiki 中所讨论的(我无法发布链接,因为我没有足够的声誉点,但它可以在子标题“上下文覆盖”下找到)有一个layoutmixin,我相信它对此有帮助. 现在看到与上面相同的示例,但使用layoutmixin 创建嵌套网格:

使用 layout+grid-span 的奇点嵌套列

在这个例子layout中,当我想要一个嵌套的网格/子网格/等时,我使用 mixin 创建一个新的网格上下文。在layoutmixin 中,grid-spanmixin 将使用任何layout集合,因此无需跟踪网格的数量并通过它作为 的第三个参数grid-span

希望这会有所帮助,因为我自己为此苦苦挣扎了一段时间,直到最近才能够使用layoutmixin 复制嵌套网格。当然,我对 Singularity/SASS/etc 还是很陌生。所以我不会推荐这些例子作为最佳实践或任何东西。也许专家可以提供更多细节?

祝你好运。

于 2013-12-02T22:04:32.903 回答
0

如果页脚使用与其前一个不同的上下文(网格总数),则必须说明新的上下文(网格数)。所以你必须告诉它网格的数量,从哪个网格开始,以及总网格,就像你正在做的那样。

于 2013-09-12T15:57:31.683 回答