是否可以使用基本值覆盖容器的默认装订线值,例如:
$total-columns: 12;
$column-width: 60px;
$gutter-width: 20px;
$grid-padding: 10px;
这样您就可以根据需要将装订线从 20px 最小化到例如仅 5px 或任何其他所需值。
.example{
@include squish(1,1);
li{
@include span-columns(2,10);
@include nth-omega(5n);
}
}
是否可以通过mixin,我必须放置另一个容器/布局还是应该坚持使用纯CSS来解决该任务?谢谢
更新: 更具体地说,我不寻找排水沟的确切尺寸(据我目前所读,由于四舍五入,无论如何都会很困难),我只想最小化排水沟并扩大列间接宽度。
https://dl.dropbox.com/u/8578/Boxes.png
目前,我在包含的 7 列及其排水沟之前和之后挤压了 3 列。到目前为止,列及其图像的宽度太小。因此,我想缩小排水沟宽度并间接扩大列宽。
Susy 设置看起来是这样的:
$total-columns: 24;
$column-width: 3%;
$gutter-width: 1%;
$grid-padding: 0;
到目前为止我还没有设置容器宽度,因为容器位于整个页面的包装器内。
.wrapper {
@include container;
overflow-x: hidden;
width:100%;
max-width: 100%;
}
屏幕截图中显示的图像矩阵的具体选择器如下:
.projects {
@include squish(3,3);
li {
@include span-columns(2,14);
@include nth-omega(7n);
}
}
您需要更多详细信息吗?那么您是否仍然建议使用 with-grid-settings mixin 来解决该问题?set-container-width mixin 真的有必要吗?想过如果我设置相对的东西就不需要绝对值吗?谢谢拉尔夫
更新 2:
Ufff 我尝试了下面评论中提到的建议的小秘密方法。但到目前为止,我无法得到一个干净的显示,更像是一个混乱的“拼凑而成”......;) 有点令人困惑。基本上文章作者推荐了2个步骤。首先,他为包含元素的内容添加了 -100% margin-right,然后在下一步中将对象推回原位。我在一系列尝试中的最后一个设置现在看起来像这样,但仍然没有解决方案。
.example{
@include squish(3,3);
@include with-grid-settings($gutter: 0.1%){
margin-right: -100%;
li{
@include span-columns(6,18);
@include nth-omega(3n);
@include pre(9);
}
}
}
我已将margin-right 放置在“li”的包含元素中的with-grid-settings mixin 中,如建议的那样。但问题是在哪里放置 pre mixin,尤其是它应该包含哪些数字(是否也考虑了 squish 数字的数字)?所有 li 的值是否相同,或者是否需要一个 for 循环将图像单独推送到它们的水平位置?li 元素中的 mixin 顺序是否正确?放在哪里重要吗?在跨度列和第 n 个欧米茄之间还是在最后或中间?总之,我仍然很困惑。网格、图像矩阵和 Susy 仍然让我的大脑不停转动。:/
更新 3:
谢谢!我终于让它工作了。最后,我对我的解决方案有两个问题:
.test{
@include with-grid-settings($gutter: 0.1%){
li{
margin-right: -100%;
float:left;
@include span-columns(6,18);
@include nth-omega(3n);
$count:0;
@for $i from 1 through 9 {
&:nth-child(#{$i}) {
$count: $count + 1;
@include push($count);
@if $count == 2{ $count: 0;}
}
}
}
}
}
for循环的布局会有更优雅的方式吗?其次,为什么这个版本和我注释掉 $count 时的版本一样:$count + 1; 语句导致相同的视觉结果?实际上注释掉了 push 变量没有第二个和第三个计数。知道为什么在没有 $count: $count + 1; 的情况下仍然有效吗?谢谢!
更新 4: 我玩了更多,结果证明以下版本就像一个魅力。似乎 $count 变量根本不需要,以及 push/pre mixin 中包含的值的增量增长。一个简单的 0 成功了。再次感谢您的帮助!!!
.test{
@include with-grid-settings($gutter: 0.5%){
li{
margin-right: -100%;
@include span-columns(6,18);
@include nth-omega(3n);
@for $i from 1 through 9
{
&:nth-child(#{$i})
{
@include push(0);
}
}
}
}
}
更新 5
我在下面的最后一条评论中已经提到,更新 4 中显示的示例并没有像乍一看那样好。我现在尝试完全重建 Palantir 文章中的建议。下面是 7x4 的 scss 部分以及视频中显示的 3x3 矩阵:https ://dl.dropbox.com/u/8578/matrix.mov
.7x3{
@include with-grid-settings($gutter: 0.25%){
li{
margin-right: -100%;
@include trailer(1);
@include span-columns(2,14);
@include nth-omega(7n);
$y: 0;
@for $x from 1 through 28
{
&:nth-child(#{$x}){
margin-left: ($y * columns(2,14)) + ($y * gutter(14));
$y: $y + 1;
@if $y > 6{
$y: 0;
}
}
}
}
}
}
.3x3{
@include with-grid-settings($gutter: 1%){
li{
margin-right: -100%;
@include trailer(1);
@include span-columns(6,18);
@include nth-omega(3n);
$j: 0;
@for $i from 1 through 9
{
&:nth-child(#{$i}){
margin-left: ($j * columns(6,18)) + ($j * gutter(18));
$j: $j + 1;
@if $j > 2{
$j: 0;
}
}
}
}
}
}
乍一看,矩阵看起来很破碎,但如果您仔细查看视频中的检查器,似乎每个元素都被推到两个矩阵中的正确水平位置。唯一的问题是每个 li 都包含在单独的行中。这是我能得到的最接近的版本。:/现在我不知道如何将这些部分放在一起以获得适当的矩阵。我或多或少地尝试了浮动和显示属性的可能性。但没有运气。有人可能有提示吗?