溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

影響CSS優(yōu)先級規(guī)則的是什么

發(fā)布時間:2021-08-31 11:19:45 來源:億速云 閱讀:105 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“影響CSS優(yōu)先級規(guī)則的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“影響CSS優(yōu)先級規(guī)則的是什么”吧!

  當(dāng)創(chuàng)建的樣式表越來越復(fù)雜時,一個標簽的樣式將會受到越來越多的影響,這種影響可能來自周圍的標簽,也可能來自其自身。下面我們從這兩方面去看看CSS樣式的優(yōu)先級。

CSS的繼承性

  CSS的繼承特性指的是應(yīng)用在一個標簽上的那些CSS屬性被傳到其子標簽上。看下面的HTML結(jié)構(gòu):

  < div>

  < p>< /p>

  < /div>

  如果

有個屬性color:red,則這個屬性將被

繼承,即

也擁有屬性color:red。

  由上可見,當(dāng)網(wǎng)頁比較復(fù)雜,HTML結(jié)構(gòu)嵌套較深時,一個標簽的樣式將深受其祖先標簽樣式的影響。

影響CSS優(yōu)先級的規(guī)則是:

  CSS優(yōu)先規(guī)則1:最近的祖先樣式比其他祖先樣式優(yōu)先級高。

  如果我們把一個標簽從祖先那里繼承來的而自身沒有的屬性叫做"祖先樣式",那么"直接樣式"就是一個標簽直接擁有的屬性。又有如下規(guī)則:

  CSS優(yōu)先規(guī)則2:"直接樣式"比"祖先樣式"優(yōu)先級高。

  選擇器的優(yōu)先級

  上面討論了一個標簽從祖先繼承來的屬性,現(xiàn)在討論標簽自有的屬性。在討論CSS優(yōu)先級之前,先說說CSS7種基礎(chǔ)的選擇器:

  ID選擇器,如#id{}

  類選擇器,如.class{}

  屬性選擇器,如a[href="segmentfault.com"]{}

  偽類選擇器,如:hover{}

  偽元素選擇器,如::before{}

  標簽選擇器,如span{}

  通配選擇器,如*{}

  CSS優(yōu)先規(guī)則3:優(yōu)先級關(guān)系:內(nèi)聯(lián)樣式>ID選擇器>類選擇器=屬性選擇器=偽類選擇器>標簽選擇器=偽元素選擇器

  最終的color為black,因為內(nèi)聯(lián)樣式比其他選擇器的優(yōu)先級高。

  所有CSS的選擇符由上述7種基礎(chǔ)的選擇器或者組合而成,組合的方式有3種:

  后代選擇符:.father.child{}

  子選擇符:.father>.child{}

  相鄰選擇符:.bro1+.bro2{}

  當(dāng)一個標簽同時被多個選擇符選中,我們便需要確定這些選擇符的優(yōu)先級。我們有如下規(guī)則:

  CSS優(yōu)先規(guī)則4:計算選擇符中ID選擇器的個數(shù)(a),計算選擇符中類選擇器、屬性選擇器以及偽類選擇器的個數(shù)之和(b),計算選擇符中標簽選擇器和偽元素選擇器的個數(shù)之和(c)。按a、b、c的順序依次比較大小,大的則優(yōu)先級高,相等則比較下一個。若最后兩個的選擇符中a、b、c都相等,則按照"就近原則"來判斷。

  在學(xué)習(xí)過程中,你可能發(fā)現(xiàn)給選擇器加權(quán)值的說法,即ID選擇器權(quán)值為100,類選擇器權(quán)值為10,標簽選擇器權(quán)值為1,當(dāng)一個選擇器由多個ID選擇器、類選擇器或標簽選擇器組成時,則將所有權(quán)值相加,然后再比較權(quán)值。這種說法其實是有問題的。比如一個由11個類選擇器組成的選擇器和一個由1個ID選擇器組成的選擇器指向同一個標簽,按理說110>100,應(yīng)該應(yīng)用前者的樣式,然而事實是應(yīng)用后者的樣式。

到此,相信大家對“影響CSS優(yōu)先級規(guī)則的是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI