zoukankan      html  css  js  c++  java
  • 移动端性能优化(CSS性能优化)

    CSS性能优化

    CSS选择器优化

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

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

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

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

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

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

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

            /*避免通配选择器*/
            * {
    
            }
            ul, li, dl, dt, dd, p {
                padding: 0;
                margin: 0;
            }

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

            /*移除无匹配的样式*/
            .slider {
                /* 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

  • 相关阅读:
    DLL编写中extern “C”和__stdcall的作用
    spring mvc controller中的异常封装
    springMVC 【@response 返回对象自动变成json并且防止乱码】 & 【配置支持实体类中的@DateTimeFormat注解】
    Eclipse中修改SVN用户名和密码方法
    Maven
    j2ee、mvn、eclipse、Tomcat等中文乱码问题解决方法
    maven生成jar包
    windows超过最大连接数解决命令
    spring 国际化-i18n
    springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12510986.html
Copyright © 2011-2022 走看看