变量 Variables
1 2 3 4 5 6
| @header-height:60px; @footer-height:686px; .header { height: @header-height; background-color: @header-bottom-bgcolor; }
|
混合 Mixins
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| .fl{ float: left; }
.fr() { float: right; }
.nav { .fl(); }
.profile { .fr(); }
|
在 css 里面并没有 fr,因为被认作是调用的样式,不是输出的样式
1 2 3 4 5 6 7 8 9
| .fl { float: left; } .nav { float: left; } .profile { float: right; }
|
参数混合 Parametric-Mixins
1 2 3 4 5 6 7 8 9 10 11 12
| .border-radius(@radius:50) <!-- 默认50% --> { -webkit-border-radius:@radius; -moz-border-radius:@radius; border-radius:@radius; }
.profile__ava{ width: 36px; height: 36px; margin: 12px; .border-radius(50%); }
|
参数逻辑条件混合 Mixin_Guards
1 2 3 4 5 6 7
| #color(@name) when(@name=white) { color:#fbfbfb; }
.nav__item{ #color(white); }
|
多个合在一起写
1 2 3 4 5 6 7 8 9 10 11 12
| .font(@size) { &when(@size=small) { font-size:8px; } &when(@size=large) { font-size:26px; } }
div { .font(small); }
|
嵌套规则 Nested Rules
1 2 3 4 5 6 7 8 9 10 11 12
| .nav__item { ... }
.nav__item:hover { ... }
.nav__item_icon_now{ ... }
|
等于
1 2 3 4 5 6 7 8 9 10
| .nav { &__item{ &:hover{ ... } &_icon-new { ... } } }
|
空格 子元素
1 2 3 4 5
| .parent{ .sub{ color:red; } }
|
等于
1 2 3
| .parent .sub { color:red; }
|
&引用
1 2 3 4 5
| .parent{ &__sub{ color:red; } }
|
等于
1 2 3
| .parent__sub { color:red; }
|
“变量是存储信息的容器”、”变量能保存其他数据类型”是JavaScript的语法,less中的变量,可以一次定义,重复使用,由于变量只能定义一次,其本质就是常量。
Less的注释有两种,分别是“//”单行注释和“//”多行注释,并且单行注释不会输出,多行注释以原生css的注释作为最终输出,因此“// 单行注释,不会作为最终输出”、“//多行注释,以原生CSS注释的形式作为最终输出”符合题意