变量
@color:red;
@font-size:14px;
h1{
color:@color;
font-size:@font-size;
}
@happy:red;
@life:'happy';
h1{
color:@@life;
}
解析为:
h1{
color:red;
}
插值
@my-selector: banner;
.@{my-selector} {
font-weight: bold;
line-height: 40px;
margin: 0 auto;
}
解析为:
.banner {
font-weight: bold;
line-height: 40px;
margin: 0 auto;
}
高级应用:
@images: "../img";
body {
color: #444;
background: url("@{images}/white-sand.png");
}
@themes: "../../src/themes";
@import "@{themes}/tidal-wave.less";
作用域
变量使用之前不需要定义
变量从当前作用域一直往上找,直到到根
变量在同一个作用域里声明多次,使用最后一个(类似css覆盖)
@var: 0;
.class {
@var: 1;
.brass {
@var: 2;
three: @var;
@var: 3;
.inner{
val:@var;
}
}
one: @var;
}
解析为:
.class {
one: 1;
}
.class .brass {
three: 3;
}
.class .brass .inner {
val: 3;
}
混入(类)
一些属性的集合
无参
.mod{
border-radius:5px;
}
.header{
.mod;//.mod()
}
有参
单参
.mod(@radius){
border-radius:@radius;
}
多参(推荐分号)
.mixin(@color: black; @margin: 10px; @padding: 20px) {
color: @color;
margin: @margin;
padding: @padding;
}
.class1 {
.mixin(@margin: 20px; @color: #33acfe);
}
.class2 {
.mixin(#efca44; @padding: 40px);
}
逗号和分号混合使用时,以分号作为分隔符,逗号的参数作为一组
.name(1, 2, 3; something, else)//2个参数
.name(1, 2, 3)//三个参数
.name(1, 2, 3;)//一个参数
有参带默认值
.mod(@radius:5px){
border-radius:@radius;
}
带选择器
.mod{
&:hover{
color:#fff;
}
.active{
color:red;
}
}
若一个类不想被解析到css文件里:
.mod(){
border-radius:5px;
}
类调用时,圆括号在无参,有参带默认值时可选
调用时给类添加 !important,类中所有的属性都会加上 !important
多个参数时,可以使用逗号,分号隔开,建议用分号
arguments
.transition (@moveStyle :all;@delayTime : 4s;@moveType : ease-in; @moveTime : 2s){
-webkit-transition: @arguments;
-moz-transition: @arguments;
-o-transition: @arguments;
-ms-transition: @arguments;
transition: @arguments;
}
继承(1.4.0)
.demo{
color:red;
font-size:19px;
}
div{
&:extend(.demo);
background-color: #red;
}
解析为:
.demo,
div {
color: red;
font-size: 19px;
}
div {
background-color: #red;
}
避免编译
.class {
filter: ~"progid:DXImageTransform.Microsoft.Alpha(opacity=20)";
}
/* 实际上会输出下面的代码: */
.class {
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);
}
div{
color:red~"\9\0"
}
div{
color:red\9\0
}
javascript的表达式
@string: `'iwjw'.toUpperCase()`; //IWJW
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。