瞭解下 CSS 中的 inherit、initial、unset 和 revert 的作用
阿新 • • 發佈:2021-11-18
CSS 的屬性從繼承的角度看,可以分為繼承型別(Inherited properties)和非繼承型別(Non-inherited properties),兩個型別的屬性初始值是不一樣的,對於繼承型別的屬性來說,預設值是 inherit
;非繼承型別的屬性的預設值則是 initial
。
當我們在開發中想要取消某個樣式屬性的時候,可以將該屬性設回預設值。而且我們大可不必死記硬背哪些屬性是繼承屬性,要改成 inherit
,哪些是非繼承屬性又要改成 initial
,只要將屬性設定為 unset
,樣式解析器會自己進行判斷。
但是,unset
不適用於 display
屬性。display
屬於非繼承屬性,因此 unset
initial
,但是 display
的 initial
屬性值是 inline,這點和我們的預期不符。所以對於 display
,我們要將它設定為 revert
這個屬性值。以上內容提取自《An Interview With Elad Shechter on "The New CSS Reset"》,在這篇採訪稿裡有對上面內容更深的解釋,推薦閱讀。