Extend就相當於Java的繼承,它允許一個選擇器繼承另一個選擇器的樣式。Extend有兩種語法格式。
一種是:
<selector>:extend(<parentSelector>) { }
另一種是:
<selector> {
&:extend(<parentSelector>);
}
假設有一個 .inline 的類:
.inline {
color: red;
}
現在希望 nav ul 選擇器能夠讓繼承 .inline類的 color 屬性,就可以使用以下兩種方式的任意一種來實現:
nav ul:extend(.inline) {
}
或者
nav ul {
&:extend(.inline);
}
這兩種方式得到的結果完全相同,編譯后的CSS代碼為:
.inline,
nav ul {
color: red;
}
一個選擇器還可以繼承多個選擇器的屬性,只需寫多個 :extend 語句就可以了。如,.e 同時繼承了 .f 和 .g 的屬性:
.e:extend(.f) {}
.e:extend(.g) {}
為了方便,Less允許僅使用一個 :extend 語句,只需在括號中提供用逗號隔開的選擇器列表即可。什么兩個 :extend 語句的等價寫法為:
.e:extend(.f, .g) {}