当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS 类名的长命名和短命名

CSS样式表
CSS 表单元素不继承body的字体属性
网页制作学习教程 CSS Position
网页设计学习教程 CSS盒模型
vertical-align 表单元素垂直对齐的解决方法
不用Cookie的仿刷新二级高亮菜单
CSS3 优势以及网页设计师如何使用CSS3技术
CSS 网页制作 提高CSS可阅读性
CSS 样式表中引用图片地址在各浏览器中的差异
CSS Sprite优化 减少HTTP链接数
网页制作中应用的50个CSS技巧(国外)
CSS 英文教程 CSS语法
CSS 网页文字渐变效果
纯css 圆角实现代码
CSS 新的图像替换方法
不必需的样式脚本文件导致页面不能及时更新
CSS 约定写法 利用扩展
最全的CSS浏览器兼容问题小结
CSS 网页图文混排的10个技巧
IE的CSS制作网页技巧3则
创造100% 自适应css布局的行之有效的方法

CSS样式表 中的 CSS 类名的长命名和短命名


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 97 ::
收藏到网摘: n/a

说实话,看到这个题目时我觉得这有什么好讨论的,肯定会是场一边倒的讨论。因为个人比较倾向于短命名,简单优雅,可能是出于程序员的洁癖,容不得任何冗余的东西。(和我一个想法的人应该不在少数吧 !)

先看下长命名和短命名的定义:

<!-- 长命名:使用前缀体现上下文环境的CSS命名方式。 -->
<div class="category">
        <div class="category-hd"></div>
        <div class="category-bd"></div>
        <div class="category-ft"></div>
</div>

<!-- 短命名:使用继承体现上下文环境的CSS命名方式。 -->
<div class="category">
        <div class="hd"></div>
        <div class="bd"></div>
        <div class="ft"></div>
</div>====

会上大家先是给双方各列了一堆优缺点,结果不相上下。

然后从性能和可维护性上进行了详细的争论。

性能分为下载性能(速度)和渲染性能,大家认为:

1. 下载性能可能是短命名略胜一筹,因为文件会稍小些;
2. 渲染性能则是长命名好些,因为CSS中通常短命名我们用类似.box .hd {}定义样式,而长命名直接是.box-hd {},pagespeed认为选择器长度会影响渲染性能。
(注:其实平时工作中这两点都会被忽略。gzip可以进一步减少第一个问题的差距,而由此引发的渲染性能也是微乎其微)

然后大家就可维护性进行了讨论,这次支持长命名的人较多。

1. 长命名给人较为可靠的感觉;
2. 长命名较短命名发生冲突的几率低很多;
3. 可复用的内容通过短命名定义,无可争议;

最后是使用场景,玉伯借用YAHOO首页的例子牵头,大家讨论,总结如下:(主要依据可维护性)

1. 框架级样式用短命名,比如盒模型、栅格;
2. 通用样式用短命名,比如.hidden、.clearfix;
3. 应用级样式用长命名,比如淘江湖项目的通用样式都加上“sns”前缀(有.sns-avatar、.sns-box等);
4. 页面级样式用长命名,比如类目模块,可能包含category-hd、category-bd、category-bd-tips等;
5. 嵌入式应用用长命名,因为可能会被嵌入到任何复杂环境中,比如开源编辑器、Google的各种应用(map, adsence, gmail…)
以上结论有个前提:就是页面是多人(包括后期的维护人员)协作的,一个人的页面(如Blog)不在考虑范围之内。

====

欢迎补充指正。