6-1. 何時使用繼承

2022-10-12 17:18 更新

5-1節(jié)介紹了混合器主要用于展示性樣式的重用,而類名用于語義化樣式的重用。因為繼承是基于類的(有時是基于其他類型的選擇器),所以繼承應該是建立在語義化的關系上。當一個元素擁有的類(比如說.seriousError)表明它屬于另一個類(比如說.error),這時使用繼承再合適不過了。

這有點抽象,所以我們從幾個方面來闡釋一下。想象一下你正在編寫一個頁面,給html元素添加類名,你發(fā)現(xiàn)你的某個類(比如說.seriousError)是另一個類(比如說.error)的細化。你會怎么做?

  • 你可以為這兩個類分別寫相同的樣式,但是如果有大量的重復怎么辦?使用sass時,我們提倡的就是不要做重復的工作。
  • 你可以使用一個選擇器組(比如說.error.seriousError)給這兩個選擇器寫相同的樣式。如果.error的所有樣式都在同一個地方,這種做法很好,但是如果是分散在樣式表的不同地方呢?再這樣做就困難多了。
  • 你可以使用一個混合器為這兩個類提供相同的樣式,但當.error的樣式修飾遍布樣式表中各處時,這種做法面臨著跟使用選擇器組一樣的問題。這兩個類也不是恰好有相同的樣式。你應該更清晰地表達這種關系。
  • 綜上所述你應該使用@extend。讓.seriousError.error繼承樣式,使兩者之間的關系非常清晰。更重要的是無論你在樣式表的哪里使用.error.seriousError都會繼承其中的樣式。

現(xiàn)在你已經更好地掌握了何時使用繼承,以及繼承有哪些突出的優(yōu)點,接下來我們看看一些高級用法。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號