【发布时间】:2014-02-21 11:08:44
【问题描述】:
我最近开始了一个大型的多年客户项目,前端开发的第一阶段是创建一个模式库以在整个项目中使用。我正在为我的网格使用 Compass 和 Blueprint。 @include blueprint-grid mixin 看起来非常适合这个项目:它会自动生成语义类名(即.span5),团队其他成员可以在所有页面中重复使用。
但是,Compass documentation states:
最佳实践不鼓励使用此 mixin,但提供它是为了支持旧网站并针对蓝图的示例页面测试 sass 端口。
这是为什么呢?为什么要在现代网格系统中使用非语义类?为所有共享相同网格宽度的各种页面元素创建一个新的 CSS 类似乎不太干。例如:
.dashboard__chart {
@include column(6);
}
.dashboard__news {
@include column(6);
}
当我可以简单地将.span6 类应用于我的标记时。
这可能是情境性的:如果您的整个项目具有类似的布局(例如,新闻网站或博客),则非语义类是有意义的。但是,此仪表板/报告工具项目的每个页面的布局都有些不同。
回到最初的问题:为什么不使用语义类是最佳实践,以及避免它们的最佳方法是什么?
【问题讨论】:
标签: css sass compass-sass theory