QQ 1640076782

2009年12月28日

网页设计中CSS的ID与class类的长命名和短命名的问题

Filed under: 猪哥 — past @ 11:26 下午

有些客户做多了,自然都知道采用div+css来制作外贸网站的优势,但是他们都觉得代码越少越好,有的时候就提到样式命名的问题上。

长命名和短命名的定义:

css2

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

如果是长期需要进行维护的站点来说的话还是长命名的比较好:
1. 长命名给人较为可靠的感觉;
2. 长命名较短命名发生冲突的几率低很多;
3. 可复用的内容通过短命名定义,无可争议;

其实要是依据网站长期维护的结论的话那就是
1. 框架级样式用短命名,比如盒模型、栅格;
2. 通用样式用短命名,比如.hidden、.clearfix;
3. 应用级样式用长命名,比如淘江湖项目的通用样式都加上“sns”前缀(有.sns-avatar、.sns-box等);
4. 页面级样式用长命名,比如类目模块,可能包含category-hd、category-bd、category-bd-tips等;
5. 嵌入式应用用长命名,因为可能会被嵌入到任何复杂环境中,比如开源编辑器、Google的各种应用(map, adsence, gmail…)

采用长命名和短命名要根据你的站的规模大小,和是否需要经常进行代码维护来决定的,如果网站的规模很大用段命名很容易产生冲突而是二次改版的时候不好去找样式.