CSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。
名字的本质是什么?名字本质上就是一个符号,用来区分人与人的。与符号一样,名字本身就蕴含着很多的信息。举个例子,我的名字:谢科。其中蕴含的信息有:我老爸也姓谢,我是在开始重视科学知识的年代出生的。一个名字含信息量越多,这个名字就越独特,越不可能被别人copy;如果这个名字很普通,例如张三李四李娜、张艳之类,就会被大规模的重用,对于CSS样式的命名,为了避免样式冲突,我们总会给其赋予相当特殊的命名,或是在选择符上添加HTML标记,或是使用层级。
为了css避免冲突往往会命名的很详细,但我们都希望写出精简高效的CSS代码,如果CSS重用性越高,想必就越高效。这如人的名字一样,如果名字越普通,越没有含义,越容易被重用,所以CSS要想重用性高,就需要命名简单。但是,简单的命名越容易造成样式冲突,例如.more{}。从这点上来说,重用性与样式冲突时两个对立的矛盾体。 CSS既可以有高度的重用性,又不会有样式冲突的困扰。下面就将介绍这些命名方法。 如淘宝首页免费注册按钮上的class名称:help-guest-regist 也就是”帮助-顾客-注册”,很易懂的命名。 但如果其他页面上也用到注册按钮,而样式和首页不同,就需要重定义了,那么命名就会冲突,那么怎么办?
结果只好再在后面加一道杠杠了,比如help-guest-regist-game,表示是在游戏页面使用的注册按钮,这样的命名,导致代码越来越臃肿,比本来直接定义一次都长了,可见命名不合理会大大限制你的CSS重用性。如何命名才能让CSS发挥最大的重用性潜力呢?
答案就是面向属性的命名,因为面向属性的命名是针对自身属性的一种命名方式,你可以遵循后入为主的规则重复写入,但不用担心冲突。另外id不可以重复,所以用class的话,可以肆无忌惮的用无数次。id的优先级太高,专门留给JS用,这样才符合表现与行为分离的原则。