移动端性能优化(CSS性能优化)

假如想象 提交于 2020-03-17 17:19:54

CSS性能优化

 

CSS选择器优化

如果可以直接选中元素,不需要加一些多余的修饰

        /*不要使用类选择器和ID选择器修饰元素标签,这样多此一举,还会降低效率。*/
        div#slider.slider {

        }

一般来说,class用于样式,id用于js,因为id定义的样式不利于复用

 

保证不会误选的情况下,尽量保持简单

避免冲突可以在命名时区分好

        /*保持简单,不要使用嵌套过多过于复杂的选择器*/
        /*浏览器从右向左解析CSS*/
        /*.slider .slider-item-container .slider-item .slider-link .slider-img {
            width: 100%;
        }*/
        .alex-slider-img {
            /*嵌套少*/
            /*权重低 便于使用的时候覆盖*/
            width: 100%;
        }

 

尽量少用通配符选择器,可以单独写出来,罗列出来

        /*避免通配选择器*/
        * {

        }
        ul, li, dl, dt, dd, p {
            padding: 0;
            margin: 0;
        }

 

不必要的样式和没有用到的样式直接删除即可

        /*移除无匹配的样式*/
        .slider {
            /*width: 100%;*/
        }

 

高级选择器少用(类似正则的),还有属性选择器,性能并不高

但是必须的情况下可少量使用

        /*避免类正则的属性选择器*/
        [class*="slider-indicator"] {

        }
        [class~="slider-indicator"] {
            /*空格分隔*/
        }
        [class^="slider-indicator"] {
            
        }
        [class$="slider-indicator"] {
            
        }

 

css属性优化:

不同类里存在相同样式可以提取出来一起写,减少冗余

而且方便统一修改

        /*提取公用部分*/
        .slider,
        .slider-item-container {
            width: 100%;
            height: 100%;
        }

 

合并一些可以合并的元素

上右下左

适当使用简写

        /*合写*/
        .slider {
            margin-top: 10px;
            margin-bottom: 10px;
            margin-right: 20px;
            margin-left: 20px;

            margin: 10px 20px 10px 20px;
            margin: 10px 20px;
            margin: 10px 20px 10px;

            background-color: #fff;

            font-size: 12px;
            font: ;
        }

 

其他优化:

不建议使用CSS @import引用加载CSS(scss里没关系)

做动画时优先使用css3动画,其次再考虑js动画

移动端优先考虑flex布局,少用float

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!