高级参数和@reset变量
如果你希望你的mixin接受数量不定的参数,你可以使用“...”。在变量名后面使用它,它会将这些参数分配给变量
1
2
3
4
5
|
.mixin(...){ /*接受0到N个参数*/ }
.mixin(){ /*不接受任何参数*/ }
.mixin(@a: 1 ){ /*接受0到1个参数*/ }
.mixin(@a: 1 ;...){ /*接受0到N个参数*/ }
.mixin(@a;...){ /*接受1到N个参数*/ }
|
.mixin(...){ } 接受0到N个参数
Less:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
.mixin 1 (...){
padding :@arguments;
} div{ .mixin 1 ( 10px );
div{
.mixin 1 ( 20px 30px );
div{
.mixin 1 ( 40px 50px 60px );
div{
.mixin 1 ( 70px 80px 90px 100px )
}
}
}
} |
CSS:
1
2
3
4
5
6
7
8
9
10
11
12
|
div { padding : 10px ;
} div div { padding : 20px 30px ;
} div div div { padding : 40px 50px 60px ;
} div div div div { padding : 70px 80px 90px 100px ;
} |
.mixin(){ } 不接受任何参数 (这个其实就相当于不输出混合集)
Less:
1
2
3
4
5
6
|
.mixin 2 (){
width : 200px ;
} p{ .mixin 2 ;
} |
CSS:
1
2
3
|
p { width : 200px ;
} |
.mixin(@a:1){ } 接受0到1个参数
Less:
1
2
3
4
5
6
|
.mixin 3 (@red 1: #e4393c ){
color :@red 1 ;
} span{ .mixin 3 ;
} |
CSS:
1
2
3
|
span { color : #e4393c ;
} |
.mixin(@a:1;...){ } 接受0到N个参数
Less:
1
2
3
4
5
6
7
8
9
|
.mixin 4 (@a: 10px , ...){
padding :@arguments;
} div{ .mixin 4 ;
p{
.mixin 4 ( 2px , 5px , 2px 5px );
}
} |
CSS:
1
2
3
4
5
6
|
div { padding : 10px ;
} div p { padding : 2px 5px 2px 5px ;
} |
.mixin(@a;...){ } 接受1到N个参数
Less:
1
2
3
4
5
6
7
8
9
|
.mixin 5 (@a, ...){
padding :@arguments;
} ul{ .mixin 5 ( 5px );
li{
.mixin 5 ( 2px 4px );
}
} |
CSS:
1
2
3
4
5
6
|
ul { padding : 5px ;
} ul li { padding : 2px 4px ;
} |
本文转自 frwupeng517 51CTO博客,原文链接:http://blog.51cto.com/dapengtalk/1863332