【发布时间】:2013-10-19 04:55:05
【问题描述】:
在我们的项目中,我们使用 SASS 进行样式开发。此外,我们使用 Bootstrap,它包含下一个众所周知的 mixin:
@mixin clearfix {
*zoom: 1;
&:before,
&:after {
display: table;
content: "";
// Fixes Opera/contenteditable bug:
// http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
line-height: 0;
}
&:after {
clear: both;
}
}
我们在我们的风格中使用它:
.class-example {
@include clearfix();
. . .
}
编译成 CSS 后,SASS 将 mixin 的所有内容复制到我们使用 mixin 的每个类中。因此,这是大量重复的代码。我们使用 mixin 大约 100 次,所以在 css 中大约多出了 1000 行。
那么,问题来了:性能/支持/可读性/等哪个更好。观点
- 使用 mixin 并允许重复代码
- 创建类
.clearfix并在<span class="example-class clearfix"> ... </span>等标记中使用它以避免重复
另外,如果有人有更好的解决方案 - 我会很高兴得到它。欢迎任何 cmets/讨论。
【问题讨论】:
-
如果您使用至少版本 3 的 SASS,而不是使用
@include,您可以使用%创建一个@extend-only selector,然后在任何地方使用@extend。这不会重复代码。相反,它会自动添加.class-example-1、.class-example-2,以及将其扩展为%选择器的选择器列表的一部分的任何其他人。 sass-lang.com/documentation/file.SASS_REFERENCE.html#extend -
cl
aerfix si 只是 stockoverflow 中的错字,还是在现实生活中? -
哦,对不起,这只是这里的错字。我会改正的。
标签: css twitter-bootstrap optimization sass