less初学2:ネストルール,@arguments,コンパイルを避ける,!important

7903 ワード

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; }