【发布时间】:2015-03-03 17:41:30
【问题描述】:
帮帮我,你们这些时髦的苏西,我快要崩溃了!我正在尝试为我的项目制作最有效的布局,但我遇到了一些我无法用 Susy/breakpoint 解决的问题。
我希望布局列在断点处更改,而不必更改 div 的所有单个跨度(因为这样会有许多不同的跨度宽度。而不是只有 1 个和更改 3 或 4 个不同的列布局)。
目前,我能够使其工作的唯一方法是更改 div 的跨度并保持列不变,但我希望 div 始终保持相同的大小,然后根据具体情况放置到位还有多少列要填充。
我认为这正是我编写@include 的方式。我尝试在断点内进行容器/布局,而不是使用布局,但没有成功。 我知道这可能是一个我没有看到的简单修复。
编辑:我还注意到,无论我如何更改,div 总是采用默认的 $susy 映射,并且不会在断点处更改它。
SCSS:
@import 'susy';
@import 'breakpoint';
$layout1: layout(12 .125 split fluid center);
$layout2: layout(16 .125 split fluid center);
$layout3: layout(24 .125 split fluid center);
.container {
@include container;
@include with-layout($layout1);
background: orange;
@include breakpoint(600px) {
@include with-layout($layout2);
background: red;
}
@include breakpoint(1000px) {
@include with-layout($layout3);
background: blue;
}
}
.testbox {
@include span(1);
}
html:
<div class="container">
<div class="testbox">hello</div>
<div class="testbox">hello</div>
<div class="testbox">hello</div>
<div class="testbox">hello</div>
<div class="testbox">hello</div>
<div class="testbox">hello</div>
<div class="testbox">hello</div>
<div class="testbox">hello</div>
</div>
【问题讨论】:
-
不,不幸的是,这不是问题所在。我可以将 layout(12/16/24) 放在那里并替换变量而不做任何更改。我认为以这种方式展示可以描述我最努力的事情。
-
是的,如果您查看 mixins 的来源,就是问题。 with-layout mixin 所做的只是设置变量。
-
即使我使用零变量但我无法实现其子级可以识别的列更改,但是我可以毫无问题地在断点处更改颜色和跨度。我只是不知道什么命令实际上允许更改里面的内容的列。我可以将 12 列布局更改为 24,但内部的 div 仍会将其视为 12 列。如果你能提供一个我应该如何做的例子,我将不胜感激,因为我觉得我现在是盲人。
-
让它工作的方法是放在 div span(1 of 6) 然后有断点并说 span(1 of 12)。当我说 span(1) 时,我注意到在 css 内部,它给了它一个 % 值宽度,它不会随断点而改变,这就是导致问题的原因。出于某种原因,我认为跨度会随着断点及其新父级的布局而改变。有没有另一种方法可以做到这一点而不必添加断点跨度。
标签: html grid sass susy breakpoint-sass