Mark Norman Francis作为一个专业的网页开发者,开发了CSS Prepare,这个项目:优化CSS。
如果你够细心,你会发现自己的CSS代码中,很多是可再重新组合的。例如:
div { margin: 0; }
li { margin: 0; }
div { padding: 0; }
由于级联,上面这段代码可以这样写
div{margin:0;padding:0;}
li{margin:0;}
但同样,也可以写成,只有一条margin:0的规则集
div,li{margin:0}
div{padding:0;}
现在唯一问题就是哪种方法输出比较小(一看字节数就能看出来,下面的写法优于上面的)。可以看出来 Mark Norman Francis 开发的 CSS Prepare 优化CSS的思想是:
- 添加一个新的声明
- 选择器被添加到一个现有的声明块(根据比较哪种结果输出更小)
- 声明可以被添加到规则集只包含该选择器
依照这三点,我们回顾上面的第二种优化方式:
- 添加div{margin:0}作为新的规则集
- 添加div{padding:0}作为新的规则集,因为它不能被添加现有的规则集里,也不能给div添加padding:0 的声明
(通过计算字节的大小) - 把li{margin:0}添加到现有的div{margin:0}当中
可以看成一个这样的数组
-
margin:0
- div
- li
-
padding:0
- div
有1位同学留下了脚印
很不错的idea!
试用了下,发现输出的改变了样式定义的顺序,这可能会引起一些问题。看下有没办法解决,会是很有用的一个工具。