高效CSS写法

上周末翻译了molliza 和google关于高效CSS 的写法的文章,觉得他们的说法有一些共同之处,就是CSS解析引擎是从右到左开始解析的,我们要做的就是减少CSS

引擎的解析时间,所以避免一些低效的CSS 选择器去匹配大量元素能够减少页面加载的时间。结合我自己编写CSS的经验,我总结如下:

1) CSS 的层级选择器不要超过3个,保持3个以内

bad case: .class1 ul li a{}

good case .class a{}

2) 尽量少使用标签选择器,但是也是可以使用的,比如写列表(ul li语法)的时候,如果给每个li一个class,那样相反不仅代码难看,而且也无疑的增加了代码

复杂度,很难维护,总之,在于自己权衡这个点就是了。

3) 使用一些有代表意义的单词,比如我在模块化开发的过程中,我一般用mod-xxx,在这里模块中我写的CSS都在这个里面包含,很利于维护,代码也很漂亮,

不会超过3层的包含关系。也不用过多的考虑同名的问题。

4)不要早id前面添加任何限定符,包括class tag 或者其他的选择符。

bad case: .class #id{}   div#id{}这2个都是不推荐的

good case: #id{}推荐的做的

5)不要再class 前面使用标签限定符,除非你是想给不同的标签定义多个class ,那么只有这样用了。

bad case: div.class{}

good case :.class{} 

   另外: div.class{} span.class{} 这样那就这样吧。。

6) 使用class 来代替层级关系,如果发现要写很多的层级关系才能表达意义的时候,那么放弃吧。干脆写一个class 来替代这个解决方案。例如

bad case: #id .class1 ul li a{}

good case .class2{} 

将这个class2直接加在a标签上。

请各位大侠拍砖。谢谢。 

posted @   yupeng  阅读(6618)  评论(14编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示