Less的Extend_Less繼承

Extend就至關於Java的繼承,它容許一個選擇器繼承另外一個選擇器的樣式。Extend有兩種語法格式。html

一種是:less

  1. <selector>:extend(<parentSelector>) { }

另外一種是:spa

  1. <selector> {
  2. &:extend(<parentSelector>);
  3. }

假設有一個 .inline 的類:code

  1. .inline {
  2.     color: red;
  3. }

如今但願 nav ul 選擇器可以讓繼承 .inline類的 color 屬性,就能夠使用如下兩種方式的任意一種來實現:htm

  1. nav ul:extend(.inline) {
  2. }

或者繼承

  1. nav ul {
  2.     &:extend(.inline);
  3. }

這兩種方式獲得的結果徹底相同,編譯後的CSS代碼爲:get

  1. .inline,
  2. nav ul {
  3.   color: red;
  4. }

一個選擇器還能夠繼承多個選擇器的屬性,只需寫多個 :extend 語句就能夠了。如,.e 同時繼承了 .f 和 .g 的屬性:編譯

  1. .e:extend(.f) {}
  2. .e:extend(.g) {}

爲了方便,Less容許僅使用一個 :extend 語句,只需在括號中提供用逗號隔開的選擇器列表便可。什麼兩個 :extend 語句的等價寫法爲:class

  1. .e:extend(.f, .g) {}
相關文章
相關標籤/搜索