摘要:實(shí)戰(zhàn)例題某廠前端工程師筆試題基于以下的結(jié)構(gòu)和樣式,文本的顏色是計(jì)算權(quán)重權(quán)重最大因?yàn)樗晕谋撅@示的這種顏色
CSS的選擇器類型與權(quán)重值
通配符選擇器 權(quán)重值為 0
元素選擇器,和偽元素(例如::before) 權(quán)重值為 1
類選擇器(class),屬性選擇器,偽類(:hover) 權(quán)重值為 10
ID選擇器 權(quán)重值為 100
行內(nèi)樣式 權(quán)重值為 1000
!important 權(quán)重值比前5個(gè)都大,可以說無窮大
tips:
!important的權(quán)重最大,但是它可以被權(quán)重更大的!important所覆蓋
行內(nèi)樣式 總會(huì)覆蓋外部樣式表的任何樣式(除了!important)
幾種權(quán)重值不同的選擇器作用在同一個(gè)元素上,以權(quán)重值大的css樣式規(guī)則生效
幾種權(quán)重值相同的選擇器作用在同一個(gè)元素上,以后面出現(xiàn)的選擇器的css樣式規(guī)則生效
無論使用多少個(gè)權(quán)重低的選擇器夠比不過一個(gè)權(quán)重值高的選擇
如果有!important那么相加的那些無論多權(quán)重高就不管用,如果有max-height/max-width那么!important不管用,如果同時(shí)有min-height/min-width和 max-height/max-width,那么max-height/max-width的不管用
口訣:從0開始,一個(gè)行內(nèi)樣式+1000,一個(gè)id+100,一個(gè)屬性選擇器/class或者偽類+10,一個(gè)元素名,或者偽元素+1
min-height/min-width > max-height/max-width > !important > 行內(nèi)樣式 > ID選擇器 > 類選擇器、屬性選擇器、偽元素和偽類選擇器 > 元素選擇器 > 通用選擇器權(quán)重的計(jì)算方法
div p h3 ---> 0,0,0,3 所以此時(shí)h3標(biāo)簽的權(quán)重值為3, 因?yàn)閐iv,p,h3這些都是標(biāo)簽選擇器(權(quán)重值為1)
xxxx
#par .sub h3 ---> 0,1,1,1 此時(shí)的h3標(biāo)簽的權(quán)重值為111=100+10+1 (依次類推)
xxxx
要注意的一點(diǎn)就是如前面說到的那樣,數(shù)位沒有進(jìn)位: 0,0,0,5 + 0,0,0,5 = 0,0,0,10而不是0,0,1,0,所以不會(huì)存在10個(gè)div能趕上一個(gè)類選擇器的情況。
實(shí)戰(zhàn)例題(某廠前端工程師筆試題)基于以下的HTML結(jié)構(gòu)和CSS樣式,文本Dijkstra的顏色是?
ul #related span { color:red; } #favorite .highlight{ color:orange; } .highlight{ color:black; }計(jì)算權(quán)重:
(1)ul #related span ---> 0,0,0,1 + 0,1,0,0 + 0,0,0,1 =0,1,0,2 ---> 102 red
(2) #favorite .highlight ---> 0,1,0,0 + 0,0,1,0 = 0,1,1,0 ---> 110 orange (權(quán)重最大)
(3) .highlight ---> 0,0,1,0 = 10 black
因?yàn)?10 > 102 > 10 所以文本Dijkstra顯示的 Orange這種顏色
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/114741.html
摘要:樣式聲明通過一個(gè)稱為級(jí)聯(lián)的過程來解釋和決定。級(jí)聯(lián)級(jí)聯(lián)可能是中最容易被弄錯(cuò)的屬性之一。因此很容易認(rèn)為元素的視覺邊界等于其寬度,但情況并非如此。 如果你在日常工作中使用CSS,那么你的主要目標(biāo)很可能集中在使事情看起來是正確的。最終得到的正確結(jié)果遠(yuǎn)比如何實(shí)現(xiàn)更重要。這意味著相比正確的語法和視覺效果我們更少關(guān)注CSS的實(shí)現(xiàn)原理。 你可能還沒有意識(shí)到,但CSS的視覺效果通常是操縱隱藏屬性的間接結(jié)...
摘要:樣式聲明通過一個(gè)稱為級(jí)聯(lián)的過程來解釋和決定。級(jí)聯(lián)級(jí)聯(lián)可能是中最容易被弄錯(cuò)的屬性之一。因此很容易認(rèn)為元素的視覺邊界等于其寬度,但情況并非如此。 如果你在日常工作中使用CSS,那么你的主要目標(biāo)很可能集中在使事情看起來是正確的。最終得到的正確結(jié)果遠(yuǎn)比如何實(shí)現(xiàn)更重要。這意味著相比正確的語法和視覺效果我們更少關(guān)注CSS的實(shí)現(xiàn)原理。 你可能還沒有意識(shí)到,但CSS的視覺效果通常是操縱隱藏屬性的間接結(jié)...
摘要:常見問題小結(jié)一行內(nèi)樣式內(nèi)聯(lián)樣式外部樣式行內(nèi)樣式代碼寫在具體網(wǎng)頁中的一個(gè)元素內(nèi)比如一般不需要擔(dān)心樣式優(yōu)先級(jí)與樣式覆蓋在制作頁面的時(shí)候需要為很多的標(biāo)簽設(shè)置屬性,所以會(huì)導(dǎo)致頁面不夠純凈,文件體積過大不利于,后期維護(hù)成本高。 CSS常見問題小結(jié) 一、行內(nèi)樣式、內(nèi)聯(lián)樣式、外部樣式 行內(nèi)樣式:代碼寫在具體網(wǎng)頁中的一個(gè)元素內(nèi);比如: 一般不需要擔(dān)心樣式優(yōu)先級(jí)與樣式覆蓋 在制作頁面的時(shí)...
摘要:國內(nèi)各大公司都已經(jīng)投入使用,在一些常見的網(wǎng)站,如淘寶騰訊小米等移動(dòng)站點(diǎn),隨處可見其蹤影。變革之騰訊手機(jī)淘寶的設(shè)計(jì)與實(shí)現(xiàn)前端亂燉適配總結(jié)樣式重置上文已提及,這里推薦閱讀同學(xué)寫的專題文章。 前言 CSS代碼難維護(hù)眾所皆知。 為一個(gè)元素設(shè)置樣式的方式可以通過定義的class、定義的id、元素的標(biāo)簽名、元素的屬性等選擇器以及這些選擇器的組合來實(shí)現(xiàn); 作用于某個(gè)元素上的樣式又可能來自單個(gè)樣式規(guī)...
閱讀 1278·2021-10-18 13:32
閱讀 2359·2021-09-24 09:47
閱讀 1339·2021-09-23 11:22
閱讀 2476·2019-08-30 14:06
閱讀 582·2019-08-30 12:48
閱讀 2012·2019-08-30 11:03
閱讀 548·2019-08-29 17:09
閱讀 2476·2019-08-29 14:10