CSS优化,嵌套选择器和ID /类名称的浏览器索引

前端之家收集整理的这篇文章主要介绍了CSS优化,嵌套选择器和ID /类名称的浏览器索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在渲染网页和应用样式时,浏览器会对ID和类名进行索引以进行有效搜索,或者每次指定ID或类名以到达正确的元素时,它都会从顶部遍历整个DOM.

我想知道出于优化的原因,以及是否值得将浏览器提示(更长的选择器)提供给某个ID的对象所在的位置.即

#container #one-of-many-container-siblings #my-id

代替:

#my-id

如果DOM非常大,前者会产生更好的性能吗?

解决方法

它实际上与您的想法相反.

请记住,浏览器从右到左解析CSS选择器.

这个:

#container #one-of-many-container-siblings #my-id

将采取更多步骤匹配比这:

#my-id

见:http://www.css-101.org/descendant-selector/go_fetch_yourself.php

考虑到你刚刚提出的问题,我建议你阅读这篇文章

http://css-tricks.com/efficiently-rendering-css/

它将帮助您编写更有效的选择器:

#main-navigation {   }      /* ID (Fastest) */
body.home #page-wrap {   }  /* ID */
.main-navigation {   }      /* Class */
ul li a.current {   }       /* Class *
ul {   }                    /* Tag */
ul li a {  }                /* Tag */
* {   }                     /* Universal (Slowest) */
#content [title='home']     /* Universal */

猜你在找的CSS相关文章