欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

CSS優(yōu)先級的兩種理解方式是什么

這篇文章將為大家詳細講解有關(guān)CSS優(yōu)先級的兩種理解方式是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序制作、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十年以來,已經(jīng)為上1000家成都OPP膠袋各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的上1000家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。

方式一:值相加
 

我們先去MDN看看官方的解釋:

優(yōu)先級是如何計算的?

優(yōu)先級就是分配給指定的 CSS 聲明的一個權(quán)重,它由 匹配的選擇器中的 每一種選擇器類型的 數(shù)值 決定。

而當(dāng)優(yōu)先級與多個 CSS 聲明中任意一個聲明的優(yōu)先級相等的時候,CSS 中最后的那個聲明將會被應(yīng)用到元素上。

當(dāng)同一個元素有多個聲明的時候,優(yōu)先級才會有意義。因為每一個直接作用于元素的 CSS 規(guī)則總是會接管/覆蓋(take

over)該元素從祖先元素繼承而來的規(guī)則。

我們從上面一段描述中得到個很重要的信息: 權(quán)重

我們再來看選擇器優(yōu)先級關(guān)系:ID選擇器 > 類選擇器 = 屬性選擇器 = 偽類選擇器 > 標(biāo)簽選擇器 = 偽元素選擇器。

看來真相已經(jīng)呼之欲出了。

我們只要給不同類型的選擇器設(shè)定一個權(quán)重值,然后在根據(jù)選擇器的數(shù)量進行相加,就很容易得出優(yōu)先級,例如:

ID選擇器的權(quán)重值設(shè)為 1000

類選擇器 、屬性選擇器 、偽類選擇器的權(quán)重值設(shè)為 100

標(biāo)簽選擇器、偽元素選擇器的權(quán)重值設(shè)為 10

我們可以很快速的計算出下面這段CSS的權(quán)重值并作出正確的判斷。

//權(quán)重值1110
#app .menu .item{}
//權(quán)重值210
.menu.menu .item{}
//權(quán)重值30
.item.item.item{}

可是。。。細心的你可能會發(fā)現(xiàn)只要低優(yōu)先級的選擇器數(shù)量足夠多(例如: .item...x200 {} ),那么低優(yōu)先級的權(quán)重值就可以超過高優(yōu)先級的權(quán)重值,但實際效果其實還是以高優(yōu)先級樣式為準(zhǔn)。當(dāng)出現(xiàn)這種情況時可能用現(xiàn)在的權(quán)重值計算方式就無法解釋了!

當(dāng)然可以通過限制選擇器的最大數(shù)量及拉大選擇器的權(quán)重值數(shù)值還是可以解釋的,但我總覺得這不是一種好的實現(xiàn)方式。

方式二:bit位存儲

我們假設(shè)權(quán)重值是用 unsigned int 變量存儲,那么該變量的 bit 位一共有32位(4字節(jié)),我們從高位按字節(jié)展開如下:

字節(jié)1:00000000

字節(jié)2:00000000

字節(jié)3:00000000

字節(jié)4:00000000

按字節(jié)和選擇器對應(yīng):

字節(jié)1:00000000

字節(jié)2:00000000 ;ID選擇器

字節(jié)3:00000000 ;類選擇器 、屬性選擇器 、偽類選擇器

字節(jié)4:00000000 ;標(biāo)簽選擇器、偽元素選擇器

相同類型選擇器直接進行個數(shù)相加,并填入到指定字節(jié)內(nèi)。

例1:

#app .menu .item{}
 

得到的權(quán)重值 bit 位如下:

結(jié)果為:65793

例2:

.menu.menu .item{}
 

得到的權(quán)重值 bit 位如下:

結(jié)果為:513

例3:

.item.item.item{}
 

得到的權(quán)重值 bit 位如下:

結(jié)果為:3

關(guān)于“CSS優(yōu)先級的兩種理解方式是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

文章標(biāo)題:CSS優(yōu)先級的兩種理解方式是什么
當(dāng)前鏈接:http://chinadenli.net/article32/jgcssc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣品牌網(wǎng)站制作、動態(tài)網(wǎng)站虛擬主機、網(wǎng)站維護、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)