zoukankan      html  css  js  c++  java
  • less初学2:嵌套规则,@arguments,避免编译,!important

    less:嵌套规则
    html:

    <ul class="list">
        <li><a href="#">测试的文字</a><span>测试成功</span></li>
        <li><a href="#">测试的文字</a><span>测试成功</span></li>
        <li><a href="#">测试的文字</a><span>测试成功</span></li>
        <li><a href="#">测试的文字</a><span>测试成功</span></li>
    </ul>

    less:

    .list{
        width:600px;
        margin:30px auto;
        padding:0px;
        list-style:none;
    
        li{
            height:30px;
            line-height:30px;
            background-color:pink;
            margin-bottom:5px;
    
            a{
                float:left;
                //&代表上一层选择器
                &:hover{ //其实就是a:hover
                    color:red;
                }
                &:link{ //其实就是a:link
                    decoration:none;
                }
            }
    
            span{
                float:right;
            }
        }
    }

    注意
    1.a是包裹在li里面的,但是也可以跟li并排的写,差异在于css里面,a嵌套li里面会生成.list li a;并排写会生成.list a,效果上2种都是可以的。嵌套越多,寻找次数要多点,效率上低于嵌套少的。(个人觉得可以忽略,嵌套的写法清晰点)

    2.关于CSS样式权重的问题。.list li a肯定比.list a的css同名属性效果级别高,显示的效果是.list li a的。

    less:@arguments变量
    用到的地方不多。

    .border_arg(@w:30px,@c:red,@xx:solid){
        border:@w @c @xx; //原本这么写
        border:@arguments; //现在可以这么写
    }
    
    .test_arguments{
        .border_arg(40px)//只改其中一个变量,其他的不变,CSS里面会有40px,red,solid
    }

    避免编译(就是不编译)
    less中:

    .test{
        width:calc(300px - 30px) //calc是CSS3的一个属性,让浏览器去计算的。
    }

    对应css中

    .test{
        width:calc(270px); //对应的css文件里却已经算了,但是前面的calc没法编译,我也不需要css给我直接计算出来270px,就想在css中也原封不动的输出。
    }

    less文件中应该这样写

    .test{
        width:~'calc(300px - 30px);' //会原封不动在css中输出calc(300px - 30px)
    }

    !important:调试的时候可以用
    在less中,某个类的属性值的最后面加上!important,应用该样式的级别最高。

    less中:

    .border_radius(@radius:5px){ //定义
     -webkit-border-radius:@radius;
     -moz-border-radius:@radius;
     border-radius:@radius;
    }
    
    .border_test{ //调用
    .border_radius() !important //不传参,都默认的
    }

    对应的css

    .border_test{
     -webkit-border-radius:5px !important;
     -moz-border-radius:5px !important;
     border-radius:5px !important;
    }
  • 相关阅读:
    数据分析的数据来源都有哪些?
    数据分析的技能要求及分析流程
    (原创)使用matlab-cftools拟合工具的问题
    Spring加载xml配置文件的方式
    Spring-ResolvableType可解决的数据类型
    从list中取N个随机生成一个集合
    AOP统一处理修改人、创建人、修改时间、创建时间
    Java依据集合元素的属性,集合相减
    java去掉数字后面的0
    数字格式化NumberFormat
  • 原文地址:https://www.cnblogs.com/czm0718/p/5203926.html
Copyright © 2011-2022 走看看