CSS代码编写的一些性能优化技巧总结

2020-05-03 10:51:30易采站长站整理

CSS Code复制内容到剪贴板

.treecell-indented {…}  

CSS Code复制内容到剪贴板

.hierarchy-deep {…}  

尽量使用最具体的类别

解析速度变慢的罪魁祸首就是标签类别中有过多的规则。通过增加 class 到元素上,我们就可以进一步的将这些规则划分到 Class 类别中,这将减少用于匹配标签的时间。

CSS Code复制内容到剪贴板

treeitem[mailfolder="true"] > treerow > treecell {…}  

CSS Code复制内容到剪贴板

.treecell-mailfolder {…}  

避免后代选择器

后代选择器是 CSS 中性能耗用最大的选择器。 它是性能开销相当大的——特别是当选择器在标签或通用类别中。

通常我们需要的是 子选择器。比如说,当性能十分差的时候,Firefox 的用户界面CSS 将毫无理由的禁止掉后代选择器。你也应该在网页中这么做。

CSS Code复制内容到剪贴板

treehead treerow treecell {…}  

略好,但还是差(查看下一条指南)

CSS Code复制内容到剪贴板

treehead > treerow > treecell {…}  

标签分类的规则不要包含子选择器

标签类别的规则中避免使用子选择器。否则的话,在该元素出现的所有地方,匹配时间都将极大延长(特别是当规则很可能会被匹配)。

CSS Code复制内容到剪贴板

treehead > treerow > treecell {…}  

CSS Code复制内容到剪贴板

.treecell-header {…}  

在使用子选择器的地方想想为什么

当使用子选择器时要十分谨慎。能免则免。

特别来说,子选择器常常用于 RDF 树与菜单:

CSS Code复制内容到剪贴板

treeitem[IsImapServer="true"] > treerow > .tree-folderpane-icon {…}  

要记住,模板中的 REF 特性可以重复出现!好好利用这一优点。在子 XUL 元素上重复使用 RDF 属性,这样可以基于该属性来修改元素。

GOOD

CSS Code复制内容到剪贴板

.tree-folderpane-icon[IsImapServer="true"] {…}  

依赖继承

了解哪些属性能够继承,然后允许它们这样做!

例如,XUL组件会明确的设置,使得父级元素的列表样式图像或字体规则衍生到匿名内容。因而没有必要去在匿名内容上直接应用规则浪费时间。

CSS Code复制内容到剪贴板

#bookmarkMenuItem > .menu-left { list-style-image: url(blah) }