变量是自解释的:
@nice-blue: #5B83AD;
@light-blue: @nice-blue + #111;
#header {
color: @light-blue;
}
Outputs:
#header {
color: #6c94be;
}
Mixins("mixing in")是某个规则集合中直接包含另外的规则集合。
.bordered {
border-top: dotted 1px black;
border-bottom: solid 2px black;
}
当我们想重用这个规则集合的时候,仅仅只需要直接用。
#menu a {
color: #111;
.bordered;
}
.post a {
color: red;
.bordered;
}
Less让你能够使用嵌套代替逗号或者级联。有如下的css:
#header {
color: black;
}
#header .navigation {
font-size: 12px;
}
#header .logo {
width: 300px;
}
使用Less,我们可以这么写:
#header {
color: black;
.navigation {
font-size: 12px;
}
.logo {
width: 300px;
}
}
当然,伪类选择器也可以这么用,下面是经典的清除浮动hack:
.clearfix {
display: block;
zoom: 1;
&:after {
content: " ";
display: block;
font-size: 0;
height: 0;
clear: both;
visibility: hidden;
}
}
Media queries 能和选择器一样的方式嵌套:
.screencolor{
@media screen {
color: green;
@media (min-width:768px) {
color: red;
}
}
@media tv {
color: black;
}
}
outputs:
@media screen {
.screencolor {
color: green;
}
}
@media screen and (min-width: 768px) {
.screencolor {
color: red;
}
}
@media tv {
.screencolor {
color: black;
}
}
任务数字,颜色或者变量都是可操作的.
@base: 5%;
@filler: @base * 2;
@other: @base + @filler;
color: #888 / 4;
background-color: @base-color + #111;
height: 100% / 2 + @filler;
如果有单位参加运算:
@var: 1px + 5;
Less 会把单位最后带出来输出在结果中.
Less 提供很多内置的function,使用很简单直观:
@base: #f04615;
@width: 0.5;
.class {
width: percentage(@width); // returns `50%`
color: saturate(@base, 5%);
background-color: spin(lighten(@base, 25%), 8);
}
我们使用命名空间来处理选择器重名的问题。
#bundle {
.button {
display: block;
border: 1px solid black;
background-color: grey;
&:hover {
background-color: white
}
}
.tab { ... }
.citation { ... }
}
然后这样使用:
#header a {
color: orange;
#bundle > .button;
}
这个比较简单,不解释。
@var: red;
#page {
@var: white;
#header {
color: @var; // white
}
}
下面这个和上面同样的结果:
@var: red;
#page {
#header {
color: @var; // white
}
@var: white;
}
常规的注释语法:
/* One hell of a block
style comment! */
@var: red;
// Get in line!
@var: white;
你可以导入.less,当然也可以导入css
@import "library"; // library.less
@import "typo.css";
翻译 from: github