CSS中的inherit使用技巧小結(jié)

稍不留意便會(huì)忽略掉級(jí)聯(lián)樣式表的特點(diǎn)。大多數(shù)開(kāi)發(fā)者都知道inherit關(guān)鍵字,但有幾個(gè)新的CSS3繼承特性你可能不知道…
property: inherit;
inherit關(guān)鍵字代表“使用指定給父元素的所有值”。如果父元素中沒(méi)有明確的值定義,瀏覽器搜尋DOM樹(shù)直到找到相應(yīng)的屬性。最終無(wú)法找到的話,它會(huì)使用瀏覽器的默認(rèn)值,例如:
- #myparent
- {
- margin: 10px;
- border: 1px solid #000;
- }
- /* use the same border as the parent */
- #myparent p
- {
- border: inherit;
- }
在實(shí)踐中是很少有必要使用inherit的。許多有用的屬性自動(dòng)繼承,例如字體,字體大小,顏色,等等。
inheritis可以放心地使用。盡管IE6和IE7不支持,但你的設(shè)計(jì)不會(huì)因?yàn)檫@個(gè)而被破壞。
property: initial;
哦,一個(gè)新的CSS3關(guān)鍵詞!initial設(shè)置一個(gè)屬性為它的初始值——瀏覽器的默認(rèn)定義值,例如:
- body
- {
- font-size: 0.5em;
- }
- /* reset paragraphs to 1em */
- p
- {
- font-size: initial;
- }
它有用么?可能吧,畢竟你不能確保所有瀏覽器有相同的默認(rèn)值。
支持合理——Chrome,F(xiàn)irefox,Safari和Opera 15 +。IE下它不生效,而且我正在努力思考什么情況下這將是一個(gè)災(zāi)難性問(wèn)題。
property: unset;
這是稍微不尋常的一個(gè)。unset使用時(shí),它表現(xiàn)地就像有可繼承值存在時(shí)繼承了一樣。如果它找不到可繼承的值——比如,它是像box-shadow等不可繼承的屬性——它表現(xiàn)地好像繼承了瀏覽器的默認(rèn)值。
話又說(shuō)回來(lái),我想不出太多使用unset的場(chǎng)景,目前對(duì)支持它的很少。
all: [ inherit | initial | unset ];
最后,all是一個(gè)屬性而不是一個(gè)值。你可以指定inherit、initial或者unset來(lái)影響所有的屬性,例如重置所有CSS屬性為瀏覽器默認(rèn):
- #mywidget
- {
- all: initial;
- }
如果你添加了第三方控件且要避免頁(yè)面樣式?jīng)_突的話,這可能是一個(gè)可選的全局CSS域。
不幸的是,目前為止你不能依靠跨瀏覽器的嚴(yán)格的一致性,然而,它依然是一個(gè)有用的特性。
相關(guān)文章
- 這篇文章主要介紹了CSS 繼承 inherit屬性的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-09
深入理解CSS的height:100%和height:inherit之間的使用區(qū)別
這篇文章主要介紹了深入理解CSS的height:100%和height:inherit之間的使用區(qū)別,作者給出了頁(yè)面設(shè)計(jì)時(shí)的實(shí)際示例對(duì)比,需要的朋友可以參考下2015-06-08CSS中的兩個(gè)特殊值用于控制層疊的inherit和initial的方法
這篇文章主要介紹了CSS中的兩個(gè)特殊值用于控制層疊的inherit和initial,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-05