您根本不必使用 Susy,但您当然可以。:)
这是一个非常常见的 CSS 问题,因为我们经常使用浮动来进行布局,而实际上它们并非如此。Susy 实际上只是一组帮助管理布局数学的快捷方式,但它无法修复 CSS。首先在 CSS 中解决您的布局问题,然后确定 Susy 可以在哪些方面帮助澄清和简化您的代码。
例如,以下是 CSS 中几种可能的解决方案,仅使用浮点数:
// Option A
// --------
.image-link {
float: left;
width: 24%;
}
.title, .description, .purchase {
float: right;
width: 75%;
}
// Option B
// --------
.image-link {
float: left;
width: 24%;
}
.title, .description, .purchase {
margin-left: 25%;
}
// Option C
// --------
article {
padding-left: 25%;
}
.image-link {
float: left;
width: 24%;
margin-left: -25%;
}
会有很多其他解决方案使用绝对定位、额外标记或许多其他方法。您更喜欢哪一个取决于您希望它如何工作,您对标记的控制程度等。
Susy 的span()
mixin 输出浮点方向(默认为左,但如果使用last
关键字则为右)、宽度和可选的某种排水沟。和mixins 分别设置边距或填充pre()/push()/pull()
。prefix()
或者您可以完全跳过 mixins,并使用该span()
函数在任何您想要的地方进行网格计算。
// Option A
// --------
.image-link {
@include span(1 of 4);
}
.title, .description, .purchase {
@include span(last 3 of 4);
}
// Option B
// --------
.image-link {
float: left;
width: span(1 of 4);
}
.title, .description, .purchase {
@include pre(1 of 4);
}
// Option C
// --------
article {
@include prefix(1 of 4);
}
.image-link {
@include span(1 of 4);
@include pull(1 of 4);
}
您还可以使用 Susy 的isolation
功能或许多其他方法——所有这些都只是数学和 CSS 的包装器。不要让 Susy 的抽象隐藏了您使用 CSS 工作的事实,而浮点数只是浮点数。