變數
@with: 10px;
@height: @with + 10px;
#header {
width: @width;
height: @height;
}
複製程式碼
#header {
width: 10px;
height: 20px;
}
複製程式碼
混合
.bodered {
border-top: dotted 1px black;
border-bottom: solid 2px black;
}
複製程式碼
. post {
color: red;
.bordered();
}
複製程式碼
巢狀
#header {
color: black;
}
#header .navigation {
font-size: 12px;
}
#header .logo {
width: 300px;
}
複製程式碼
#header {
color: black;
.navgation {
font-size:12px;
}
.logo {
width: 300;
}
}
複製程式碼
.clearfix {
display: block;
zoom: 1;
&:after {
content: "";
display: block;
}
}
複製程式碼
.component {
width: 300px;
@media (min-width: 768px) {
width: 600px;
@media (min-resolution: 192dpi) {
background-image: url(/img/retina2x.png);
}
}
@media (min-width: 1280px) {
width: 800px;
}
}
複製程式碼
.component {
width: 300px;
}
@media (min-width: 768px) {
.component {
width: 600px;
}
}
@media (min-width: 768px) and (min-resolution: 192dpi) {
.component {
background-image: url(/img/retina2x.png);
}
}
@media (min-width: 1280px) {
.component {
width: 800px;
}
}
複製程式碼
運算
@conversion-1: 5cm + 10mm;
@conversion-2: 2 - 3cm - 5mm;
@incompatible-units: 2 + 5px - 3cm;
@base: 5%;
@filler: @base * 2;
@other: @base + @filler;
複製程式碼
calc 特例
- 為了與css保持相容,calc() 並不對數學表示式進行計算,但是在巢狀函式中會計算變數和數學公式的值
@var: 50vh/2
width: calc(50% + (@var - 20px));
複製程式碼
escaping
- 轉義允許使用任何字串或者變數值
- 用法~'anything' 或者 ~"anything"
@min768: ~"(min-width: 768px)";
.element {
@media @min768 {
font-size: 1.2rem;
}
}
複製程式碼
@media (min-width: 768px) {
.element {
font-size: 1.2rem;
}
}
複製程式碼
@min768: (min-width: 768px);
.element {
@media @min768 {
font-size: 1.2rem;
}
}
複製程式碼
函式
- 利用 percentage 函式將 0.5 轉換為 50%,將顏色飽和度增加 5%,以及顏色亮度降低 25% 並且色相值增加 8 等用法
@base: #f04615;
@width: 0.5;
.class {
width: percentage(@width);
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();
}
複製程式碼
maps
- 從少於3.5的版本開始,您還可以使用mixin和ruleset作為值的對映。
#colors() {
primary: blue;
secondary: green;
}
.button {
color: #colors[primary];
border: 1px solid #colors[secondary];
}
.button {
color: blue;
border: 1px solid green;
}
複製程式碼
作用域
- less中的作用域與css中的作用域非常相似。首先在本地查詢變數和混合函式,如果找不到它們,則從“父”範圍繼承。
@var: red;
#page {
@var: white;
#header {
color: @var;
}
}
複製程式碼
- 與CSS自定義屬性一樣,mixin和變數定義不必放在引用它們的行之前。因此下面的程式碼與前面的示例相同:
@var: red;
#page {
#header {
color: @var;
}
@var: white;
}
複製程式碼
註釋
@var: red;
@var: white;
複製程式碼
import
- “匯入”的工作方式和你預期的一樣。你可以匯入一個
.less
檔案,此檔案中的所有變數就可以全部使用了。如果匯入的檔案是 .less
副檔名,則可以將副檔名省略掉:
@import "library";
@import "typo.css";
複製程式碼