用sass用了一段时间了,由于嵌套写法的存在,常常会发现我所有的样式都是在不停嵌套中,于是编译出来的css经常成了这样:
.value-top .value-top-left .price-linechart .prev2-price, .value-top .value-top-left .price-linechart .prev-price, .value-top .value-top-left .price-linechart .now-price {
font-size: 12px;
position: absolute;
color: #00b65d; }
.value-top .value-top-left .price-linechart .prev2-price {
top: 38px;
left: 123px; }
.value-top .value-top-left .price-linechart .prev-price {
top: 54px;
left: 214px; }
.value-top .value-top-left .price-linechart .now-price {
top: 108px;
left: 304px; }
.value-top .value-top-left .price-linechart .next-price {
font-size: 12px;
position: absolute;
color: #000;
top: 200px;
left: 170px; }
.value-top .value-top-left .price-linechart .next-price span {
color: #ff4f37; }
这么写会有性能问题吗
嵌套太深会造成一下问题:
效率低
复用率低
-
修改麻烦
建议嵌套不要超过3层,如果超过,就最好重构下html结构,合理的做嵌套
影响是有的, 只是现代浏览器不像IE6那个时代, 已经有了一定的优化, 还不至于慢到离谱(当然这个仍然取决于你的页面数量和实际的css选择器的复杂程度)
https://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/
国外一人写的选择器性能测试的文章, 可以看看