稍不留意便會忽略掉級聯樣式表的特點。大多數開發者都知道inherit關鍵字,但有幾個新的CSS3繼承特性你可能不知道…
property: inherit;
inherit關鍵字代表“使用指定給父元素的所有值”。如果父元素中沒有明確的值定義,浏覽器搜尋DOM樹直到找到相應的屬性。最終無法找到的話,它會使用浏覽器的默認值,例如:
在實踐中是很少有必要使用inherit的。許多有用的屬性自動繼承,例如字體,字體大小,顏色,等等。
inheritis可以放心地使用。盡管IE6和IE7不支持,但你的設計不會因為這個而被破壞。
property: initial;
哦,一個新的CSS3關鍵詞!initial設置一個屬性為它的初始值——浏覽器的默認定義值,例如:
它有用麼?可能吧,畢竟你不能確保所有浏覽器有相同的默認值。
支持合理——Chrome,Firefox,Safari和Opera 15 +。IE下它不生效,而且我正在努力思考什麼情況下這將是一個災難性問題。
property: unset;
這是稍微不尋常的一個。unset使用時,它表現地就像有可繼承值存在時繼承了一樣。如果它找不到可繼承的值——比如,它是像box-shadow等不可繼承的屬性——它表現地好像繼承了浏覽器的默認值。
話又說回來,我想不出太多使用unset的場景,目前對支持它的很少。
all: [ inherit | initial | unset ];
最後,all是一個屬性而不是一個值。你可以指定inherit、initial或者unset來影響所有的屬性,例如重置所有CSS屬性為浏覽器默認:
如果你添加了第三方控件且要避免頁面樣式沖突的話,這可能是一個可選的全局CSS域。
不幸的是,目前為止你不能依靠跨浏覽器的嚴格的一致性,然而,它依然是一個有用的特性。