CSS嵌套五六层选择器页面卡,改成单层class,滚动立刻丝滑
新手写CSS,一堆嵌套特别深的选择器,比如div ul li a span这样的,页面加载慢,渲染卡,其实CSS选择器越简单,浏览器渲染越快,不用写那么深的嵌套。
首先,浏览器解析CSS选择器,是从右往左找的,你写div ul li a,浏览器要先找所有的a标签,再往上找li,再找ul,再找div,嵌套越多,找的次数越多,页面越卡。直接给要改的元素加个class,比如.title,写.title的样式,浏览器一下就找到,比嵌套好几层快几十倍。我之前客户的网站,CSS选择器全是三四层嵌套,滚动页面的时候卡,把所有选择器改成单层class,页面立刻就丝滑了。
新手最容易踩的坑,是为了改一个按钮的样式,写了五六层嵌套的选择器,就为了覆盖之前的样式,代码又长又慢。其实用更高优先级的class直接覆盖,比一堆嵌套快,代码还短。
还有,别用通配符*选择器,就是所有元素都加边距,浏览器要遍历页面上所有元素,渲染特别慢,清样式的时候,只把需要的标签边距清零,别用*全局设置。
别觉得CSS选择器无所谓,你选择器越复杂,浏览器渲染页面的时候越费时间,尤其是手机上,性能不如电脑,简单的class选择器,渲染快,页面滚动也顺,用户体验好。写CSS的时候,能加class就别嵌套,代码简单,速度还快。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0