您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“影響CSS優(yōu)先級規(guī)則的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“影響CSS優(yōu)先級規(guī)則的是什么”吧!
當(dāng)創(chuàng)建的樣式表越來越復(fù)雜時,一個標簽的樣式將會受到越來越多的影響,這種影響可能來自周圍的標簽,也可能來自其自身。下面我們從這兩方面去看看CSS樣式的優(yōu)先級。
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ī)則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í)!
免責(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)容。