日期:2014-04-27 浏览次数:23032 次
文章简介:如果你把OOCSS和Sass结合在一起,你会得到两个优势:CSS模块不臃肿和HTML维持不变。 |
OOCSS非常棒。但在HTML标签中有很多不具语义化的类名也并不可怕。而在HTML标签上的类名会改变就是一件很有趣的事情。如果你把OOCSS和Sass结合在一起,你会得到两个优势:CSS模块不臃肿和HTML维持不变。
首先,简单的声明,你可能第二次看到非语义(non-semantic
)这个词。事实上是这样的,我并不太关心他介是不是“非语义”,我更在意的是维护。非语义类不能很好的描述一个组件,这意味着他们将会改变。
到目前为止,纯CSS控制模块的唯一方式就是定义语义化类名。然后将这些类名运用在HTML元素上。这是使用OOCSS创建模块的方式,但其中存在很多问题:
除了HTML不可维护之外,有关于OOCSS的其他方面都是完全正确的。在大项目中将模块抽象出来重复使用,唯一方法是CSS进行维护。那么这样我们从中得到什么好处,又有什么坏处呢?
OOCSS和Sass结合会让你变得更强大。@extend
在Sass中可以直接让你从另一个选择器中继承样式,而不用像@mixin
一样,复制里面的一切样式。如果你使用嵌套或者选择器嵌套,@extend
会让你的样式代码变得臃肿,但相比之下要完美的多。