LESS
總體而言,想象成JS的JQ就行
1.less的注釋
/*text*/ 該注釋能夠編譯到css文件中
//text ??該注釋不能編譯到css文件中
2.定義變量
eg:
@:nav_width:300px;
body{
width:@:nav_width
}
3.混合
eg(混合的一個(gè)聲明):
.border{
border:solid 5px pink;
}
.box{
width:300px;
height:300px
.border;
}
帶參數(shù)的混合
.border02(@border_width){
border:solid @border_width ?pink;
}
.text{
.border02(30px);
}
混合帶默認(rèn)值
.border03(@border_width:5px){
border:solid @border_width ?pink;
}
//這是帶默認(rèn)值的
.text{
.border03();
}
//需要修改默認(rèn)值的
.text{
.border03(30px);
}
4.匹配模式
.triangle(top,@w:5px,@c:#ccc){
border_width:@w;
border_color:transparent transparebt @c transparent;
border_style:dashed dashed solid dashed;
}
.triangle(bottom,@w:5px,@c:#ccc){
border_width:@w;
border_color:@c transparent transparebt transparent;
border_style:dashed dashed solid dashed;
}
.triangle(left,@w:5px,@c:#ccc){
border_width:@w;
border_color:transparent @c transparebt transparent;
border_style:dashed solid dashed dashed;
}
.triangle(right,@w:5px,@c:#ccc){
border_width:@w;
border_color:transparent transparebt transparent @c;
border_style:dashed dashed dashed solid;
}
//不論匹配到誰(shuí)都需要帶著@_
.trangle{@_,@w:5px,@c:#ccc){
.triangle(top,100px);
width:0;
height:0;
overflow:hidden;
}
.sanjiao{
.trangle(top,5px,pink)
}
5.運(yùn)算
@text01{
width:320px;
}
.box01{
width:@text01+30;
}
6.嵌套
&對(duì)偽類(lèi)使用
對(duì)連接的使用
&item
.list{
margin:5px;
li{
width:50px;
}
a{
? ? ? ?text.decoration:none;
? ? ? //代表他的上一層選擇器,即a
? ? ?&:hover{
? ? color:red;
}
}
}
7.@arguments變量
.border_arg(@w:30px,@c:red,@xx:solid){
border:@arguments
}
.text{
.border_arg();
}
8.其他
1)避免編譯
~"" ?or ~'' ?不變的輸出,濾鏡
.text_03{
width:~"cale(300px-30px)";
}
2) !important 優(yōu)先級(jí)最高
.text{
.border03() improtant;
}