亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

CSS規(guī)則的繼承與層疊

snowell / 636人閱讀

摘要:我們知道字體屬性在任意時(shí)刻都只能應(yīng)用一種設(shè)定那此時(shí)該應(yīng)用哪種字體呢為解決類(lèi)似的沖突確定哪條規(guī)則勝出并最終被應(yīng)用提供了三種機(jī)制繼承層疊和特指。層疊規(guī)則層疊規(guī)則一找到應(yīng)用給每個(gè)元素和屬性的所有聲明。層疊規(guī)則五設(shè)定的永遠(yuǎn)大于繼承的。

在一個(gè)較大的樣式表中,可能會(huì)有很多條規(guī)則都選擇同一個(gè)元素的同一個(gè)屬性。比
如,一個(gè)帶有類(lèi)屬性的段落,可能會(huì)被一條以標(biāo)簽名作選擇符的規(guī)則選中并指定一
種字體,而另一條以該段落的類(lèi)名作選擇符的規(guī)則卻會(huì)給它指定另一種字體。我們
知道,字體屬性在任意時(shí)刻都只能應(yīng)用一種設(shè)定,那此時(shí)該應(yīng)用哪種字體呢?為解
決類(lèi)似的沖突,確定哪條規(guī)則“勝出”并最終被應(yīng)用,CSS 提供了三種機(jī)制:繼承、 層疊和特指

繼承

CSS 中有很多屬性是可以繼承的,其中相當(dāng)一部分都跟文本有關(guān),比如顏色、字體、
字號(hào)。然而,也有很多 CSS 屬性不能繼承,因?yàn)槔^承這些屬性沒(méi)有意義。這些不能
繼承的屬性主要涉及元素盒子的定位和顯示方式,比如邊框、外邊距、內(nèi)邊距。

層疊

瀏覽器有五個(gè)樣式來(lái)源,其順序如下:
1. 瀏覽器默認(rèn)樣式表
2. 用戶(hù)樣式表
3. 作者鏈接樣式表(按照它們鏈接到頁(yè)面的先后順序)
4. 作者嵌入樣式
5. 作者行內(nèi)樣式

瀏覽器會(huì)按照上述順序依次檢查每個(gè)來(lái)源的樣式,并在有定義的情況下,更新對(duì)每
個(gè)標(biāo)簽屬性值的設(shè)定。整個(gè)檢查更新過(guò)程結(jié)束后,再將每個(gè)標(biāo)簽以最終設(shè)定的樣式
顯示出來(lái)。

層疊規(guī)則

層疊規(guī)則一:找到應(yīng)用給每個(gè)元素和屬性的所有聲明。瀏覽器在加載每個(gè)頁(yè)面時(shí),都會(huì)據(jù)此查到每一條 CSS 規(guī)則,標(biāo)識(shí)出所有受到影響的 HTML 元素。

層疊規(guī)則二:按照順序和權(quán)重排序。瀏覽器依次檢查5個(gè)來(lái)源,并設(shè)定匹配的屬性。如果匹配的屬性在下一個(gè)來(lái)源也有定義,則更新該屬性的值,如此循環(huán),直到檢查完頁(yè)面中所有標(biāo)簽受影響屬性的全部5個(gè)來(lái)源為止。最終某個(gè)屬性被設(shè)定成什么值,就用什么值來(lái)顯示。

層疊規(guī)則三:按特指度(優(yōu)先級(jí))排序。除了有點(diǎn)拗口之外,特指度(specificity)其實(shí)表示一條規(guī)則有多明確。如果沒(méi)有特指度的考量,那為了讓恰當(dāng)?shù)臉邮狡鹱饔?恐怕我們就免不了要頻繁變換樣式表中規(guī)則的順序了。

  

I-C-E 方法計(jì)算特指度
1. 選擇符中有一個(gè) ID,就在 I 的位置上加 1;
2. 選擇符中有一個(gè)類(lèi),就在 C 的位置上加 1;
3. 選擇符中有一個(gè)元素(標(biāo)簽)名,就在 E 的位置上加 1;
4. 得到一個(gè)三位數(shù)。

  

舉一個(gè)簡(jiǎn)單的例子:

p       --->    0-0-1特指度為001=1
div#nav p.fist      --->    1-1-2特指度112=112

層疊規(guī)則四:順序決定權(quán)重。如果兩條規(guī)則都影響某元素的同一個(gè)屬性,而且它們的特指度也相同,則位置最靠下(或后聲明)的規(guī)則勝出。

層疊規(guī)則五:設(shè)定的永遠(yuǎn)大于繼承的。從父級(jí)繼承下來(lái)的規(guī)則,不管特指度有多大,都會(huì)被設(shè)定的規(guī)則覆蓋。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/111024.html

相關(guān)文章

  • 不知道層疊,別說(shuō)你懂CSS

    摘要:知道存在是很有用的,這樣當(dāng)你在別人的代碼中遇到它時(shí),你就知道它是什么了。如上面所示的示例所示,元素選擇器具有很低的特殊性。類(lèi)選擇器具有更高特殊性,所以將戰(zhàn)勝元素選擇器。個(gè)位在整個(gè)選擇器中每包含一個(gè)元素選擇器或偽元素就在該列中加分。 在實(shí)際的工作中,我們可能還有些疑惑,當(dāng)有多個(gè)選擇器作用在一個(gè)元素上時(shí),哪個(gè)規(guī)則最終會(huì)應(yīng)用到元素上?其實(shí)這是通過(guò)層疊機(jī)制來(lái)控制的,這也和樣式繼承(元素從其父元...

    izhuhaodev 評(píng)論0 收藏0
  • CSS學(xué)習(xí)筆記(四) CSS優(yōu)先級(jí)

    摘要:為了解決沖突,確定哪條規(guī)則勝出并最終被應(yīng)用,提供了三種機(jī)制繼承層疊和特指。整個(gè)檢查更新過(guò)程結(jié)束后,再將每個(gè)標(biāo)簽以最終設(shè)定的樣式顯示出來(lái)。層疊規(guī)則四順序決定權(quán)重。規(guī)則三設(shè)定的樣式勝過(guò)繼承的樣式,此時(shí)不用考慮特指度即顯式設(shè)定優(yōu)先。 為了解決沖突,確定哪條規(guī)則勝出并最終被應(yīng)用,CSS提供了三種機(jī)制:繼承、層疊和特指。 1.繼承 CSS 中的祖先元素會(huì)向后代傳遞一樣?xùn)|西:CSS屬性...

    高勝山 評(píng)論0 收藏0
  • CSS學(xué)習(xí)摘要-層疊繼承

    摘要:類(lèi)選擇器具有更高的專(zhuān)用性,所以將戰(zhàn)勝元素選擇器。個(gè)位在整個(gè)選擇器中每包含一個(gè)元素選擇器或偽元素就在該列中加分。選擇器六明顯地輸給了了五,其專(zhuān)用性值為和它在鏈中少了一個(gè)元素選擇器。當(dāng)有多個(gè)選擇器作用在一個(gè)元素上時(shí),哪個(gè)規(guī)則最終會(huì)應(yīng)用到元素上? 其實(shí)這是通過(guò)層疊機(jī)制來(lái)控制的,這也和樣式繼承(元素從其父元素那里獲得屬性值)有關(guān)。 元素的最終樣式可以在多個(gè)地方定義,它們以復(fù)雜的形式相互影響。這些復(fù)雜...

    mating 評(píng)論0 收藏0
  • 你不知道層疊樣式表

    摘要:層疊樣式表層疊規(guī)則你或許知道是層疊樣式表的縮寫(xiě)。但你不一定真正的理解了其中層疊的含義。用戶(hù)自定義樣式雖然規(guī)范中有,但從起,開(kāi)始不支持用戶(hù)自定義樣式表,而是建議使用擴(kuò)展來(lái)實(shí)現(xiàn)。網(wǎng)站提供的樣式表,則是我們所提供的的樣式。即不為的元素的計(jì)算值為。 層疊樣式表 層疊規(guī)則 你或許知道 CSS 是 Cascading Style Sheets(層疊樣式表)的縮寫(xiě)。但你不一定真正的理解了其中層疊的含...

    Bryan 評(píng)論0 收藏0
  • 理解層疊樣式表中層疊機(jī)制,精準(zhǔn)掌握元素樣式

    摘要:?jiǎn)栴}在寫(xiě)時(shí),有時(shí)候會(huì)遇到瀏覽器中顯示的樣式和自己的預(yù)期不符合的情況,這是因?yàn)闆](méi)有理解的層疊機(jī)制。清楚地理解了他這三大法寶,我們就能精準(zhǔn)的預(yù)測(cè)出每個(gè)元素在瀏覽器中的樣式了。 問(wèn)題: 在寫(xiě)CSS時(shí),有時(shí)候會(huì)遇到瀏覽器中顯示的樣式和自己的預(yù)期不符合的情況,這是因?yàn)闆](méi)有理解CSS的層疊機(jī)制。例如文檔中有一個(gè)p元素,用內(nèi)聯(lián)樣式為他設(shè)置了顏色: 2016年10月20日 在CSS中又用不同的方式給...

    0x584a 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<