Less 常用基礎知識,less基礎知識
LESS 中的注釋
也可以額使用css 中的注釋(/**/) 這種方式是可以被編譯出來的。
也可以使用// 注釋 不會被編譯的
變數
聲明變數的話一定要用@開頭 例如:@變數名稱:值;
@test_width:300px;
.box{
width:@test_width;
height:@test_width;
background-color:yellow;
}
混合-(Mixin)
混合(mixin)變數
例如: .border{border:solid 10px red}
.box{
width:@test_width;
height:@test_width;
background-color:yellow;
.border;
}
帶參數的混合
.border-radius(@radius){css 代碼}
可認定預設值
.border-radius(@radius:5px){css 代碼}
混合-可帶的參數
.border_02(@border_width){
border:solid yellow @border_width;
}
.test_hunhe{
.border_02(30px);
}
混合 -預設帶值
.border_03(@border_width:10px){
border:solid green @border_width;
}
.test_hunhe_03{
.border_03();
}
.test_hunhe_04{
.border_04(20px);
}
混合的例子
.border_radius(@radus:5px){
-webkit-border-radius:@radius;
-moz-border-radius:@radius;
border-radius:@radius;
}
.radius_test{
width:100px;
height:40px;
background-color:green;
.border_radius();
}
匹配模式
.sanjiao{
width:0;
height:0;
overflow:hidden;
border-width:10px;
border-color:transparent transparent red transparent;
border-style:dashed dashed solid dashed;
}
.triangle(top,@w:5px,@c:#ccc){
border-width:@w;
border-colo:transparent transparent @c transparent
border-style:dashed dashed solid dashed;
}
.triangle(bottom,@w:5px,@c:#ccc){
border-width:@w;
border-colo:@c transparent transparent transparent
border-style:solid dashed dashed dashed;
}
.triangle(left,@w:5px,@c:#ccc){
border-width:@w;
border-colo: transparent @c transparent transparent
border-style: dashed solid dashed dashed;
}
.triangle(right,@w:5px,@c:#ccc){
border-width:@w;
border-colo: transparent transparent transparent @c;
border-style: dashed dashed dashed solid;
}
.trangle(@_,@w:5px,@c:#ccc){ //@_ 什麼時候都帶著的。
width:0;
height:0;
overflow:hidden;
}
.sanjiao{
.trangle(top,100px);
}
// 匹配模式- 定位
.pos(r){
position:relative;
}
.pos(a){
position:absolute;
}
.pos(f){
position:fixed;
}
運算
@test_01:300px;
.box_02{
width:@test_01 +20;
}
.box_02{
width:@test_01 -20;
}
.box_02{
width:(@test_01 20) *5;
color:#ccc -10;
}
嵌套:
.list{
width:600px;
margin30px auto;
padding:0;
list-style:none;
li{
height:30px;
line-height:30px;
background-color:pink;
margin-bottom:5px;
}
a{
float:left;
&hover{
color:red; //& 代表他的上一層選取器。
}
}
}
@arguments 變數
@arguments 包含了所有的傳遞進來的參數。
.border_arg(@w:30px,@c:red,@xx:solid){
.border:@arguments;
}
避免編譯
.test_03{
width:~'calc(300px -30)';
}
!importan關鍵字
.test_important{
.border_radius() !important;
}