摘要:如果兩個(gè)權(quán)重不同的選擇器作用在同一元素上,權(quán)重值高的規(guī)則生效選擇器可能會(huì)包含一個(gè)或者多個(gè)與權(quán)重相關(guān)的計(jì)算點(diǎn),若經(jīng)過權(quán)重值計(jì)算得到的權(quán)重值越大,則認(rèn)為這個(gè)選擇器的權(quán)重高。
前言
css權(quán)重很多人都聽過,也了解一些,但是很多人對(duì)具體的規(guī)則或者說再深如一些關(guān)于css權(quán)重的問題,可能會(huì)不那么清楚。日常開發(fā)中,或多或少都會(huì)遇到css規(guī)則不生效的問題,為了讓我們能夠減少調(diào)試css規(guī)則的時(shí)間,深刻理解css權(quán)重,就十分關(guān)鍵了。如果喜歡的話可以點(diǎn)波贊/關(guān)注,支持一下,希望大家看完本文可以有所收獲。
個(gè)人博客了解一下:obkoro1.com權(quán)重規(guī)則總結(jié):
!important 優(yōu)先級(jí)最高,但也會(huì)被權(quán)重高的important所覆蓋
行內(nèi)樣式總會(huì)覆蓋外部樣式表的任何樣式(除了!important)
多帶帶使用一個(gè)選擇器的時(shí)候,不能跨等級(jí)使css規(guī)則生效
如果兩個(gè)權(quán)重不同的選擇器作用在同一元素上,權(quán)重值高的css規(guī)則生效
如果兩個(gè)相同權(quán)重的選擇器作用在同一元素上:以后面出現(xiàn)的選擇器為最后規(guī)則.
權(quán)重相同時(shí),與元素距離近的選擇器生效
css權(quán)重優(yōu)先級(jí)用來干嘛?在同一個(gè)元素使用不同的方式,聲明了相同的一條或多條css規(guī)則,瀏覽器會(huì)通過權(quán)重來判斷哪一種方式的聲明,與這個(gè)元素最為相關(guān),從而在該元素上應(yīng)用這個(gè)聲明方式聲明的所有css規(guī)則。
權(quán)重的五個(gè)等級(jí)及其權(quán)重!important;
行內(nèi)樣式;
ID選擇器, 權(quán)重:100;
class,屬性選擇器和偽類選擇器,權(quán)重:10;
屬性選擇器指的是:根據(jù)元素的屬性及屬性值來選擇元素,比如button的type屬性等。 偽類選擇器: :active :focus等選項(xiàng).
標(biāo)簽選擇器和偽元素選擇器,權(quán)重:1;
偽元素選擇器: :before :after等級(jí)關(guān)系:
!important>行內(nèi)樣式>ID選擇器 > 類選擇器 | 屬性選擇器 | 偽類選擇器 > 元素選擇器權(quán)重規(guī)則: 1.不推薦使用!important
不推薦使用!important,因?yàn)?b>!important根本沒有結(jié)構(gòu)與上下文可言,并且很多時(shí)候權(quán)重的問題,就是因?yàn)椴恢涝谀睦锒x了一個(gè)!important而導(dǎo)致的。
覆蓋important:雖然我們應(yīng)該盡量避免使用!important,但你應(yīng)該知道如何覆蓋important,加點(diǎn)權(quán)重就可以實(shí)現(xiàn),codepen的demo
//!important 優(yōu)先級(jí)最高,但也會(huì)被權(quán)重高的important所覆蓋 #a{ background: blue !important; /* id的important覆蓋class的important*/ } .a{ background: red !important; }2.行內(nèi)樣式總會(huì)覆蓋外部樣式表的任何樣式,會(huì)被!important覆蓋 3.多帶帶使用一個(gè)選擇器的時(shí)候,不能跨等級(jí)使css規(guī)則生效
無論多少個(gè)class組成的選擇器,都沒有一個(gè)ID選擇器權(quán)重高。類似的,無論多少個(gè)元素組成的選擇器,都沒有一個(gè)class選擇器權(quán)重高、無論多少個(gè)ID組成的選擇器,都沒有行內(nèi)樣式權(quán)重高。
codepen的demo;
在demo中使用了11個(gè)class組成一個(gè)選擇器,最后還是一個(gè)ID選擇器,設(shè)置的樣式生效。可以想象在玄幻小說的那種等級(jí)制度,沒有突破那個(gè)等級(jí),就沒有可比性。
所以權(quán)重是在雙方處于同一等級(jí)的情況下,才開始對(duì)比。
4.如果兩個(gè)權(quán)重不同的選擇器作用在同一元素上,權(quán)重值高的css規(guī)則生效選擇器可能會(huì)包含一個(gè)或者多個(gè)與權(quán)重相關(guān)的計(jì)算點(diǎn),若經(jīng)過權(quán)重值計(jì)算得到的權(quán)重值越大,則認(rèn)為這個(gè)選擇器的權(quán)重高。舉一個(gè)簡單的栗子:
.test #test{ } // id 100+class 10=110; .test #test span{} // id 100+class 10+span 1=111; .test #test .sonClass{} // id 100+class 10+class 10=120; //生效5.如果兩個(gè)相同權(quán)重的選擇器作用在同一元素上:以后面出現(xiàn)的選擇器為最后規(guī)則.
demo
6.權(quán)重相同時(shí),與元素距離近的選擇器生效#test span{ color:blue; } #app span{ // 生效 因?yàn)楹竺娉霈F(xiàn) color: red; }啦啦啦
比如不同的style表,head頭部等,來看下面的栗子:
#content h1 { // css樣式表中 padding: 5px; }建議:
避免使用!important;
利用id增加選擇器權(quán)重;
減少選擇器的個(gè)數(shù)(避免層層嵌套);
結(jié)語以上就是本文關(guān)于css權(quán)重的內(nèi)容了,如有不對(duì)的地方歡迎指正!希望大家看完可以有所收獲,喜歡的話,趕緊點(diǎn)波訂閱關(guān)注/喜歡。
個(gè)人blog and 掘金個(gè)人主頁,如需轉(zhuǎn)載,請(qǐng)放上原文鏈接并署名。碼字不易,感謝支持!本人寫文章本著交流記錄的心態(tài),寫的不好之處,不撕逼,但是歡迎指點(diǎn)。
如果喜歡本文的話,可以關(guān)注一下我的訂閱號(hào),漫漫技術(shù)路,期待未來共同學(xué)習(xí)成長。
以上2018.5.19
參考資料:你應(yīng)該知道的一些事情——CSS權(quán)重
深入CSS優(yōu)先級(jí)
css優(yōu)先級(jí)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/113335.html
摘要:可以參見以下相關(guān)閱讀創(chuàng)造更多數(shù)據(jù)上一小節(jié)說到了有了更多數(shù)據(jù),深度學(xué)習(xí)算法通常會(huì)變的更好。 導(dǎo)語我經(jīng)常被問到諸如如何從深度學(xué)習(xí)模型中得到更好的效果的問題,類似的問題還有:我如何提升準(zhǔn)確度如果我的神經(jīng)網(wǎng)絡(luò)模型性能不佳,我能夠做什么?對(duì)于這些問題,我經(jīng)常這樣回答,我并不知道確切的答案,但是我有很多思路,接著我會(huì)列出了我所能想到的所有或許能夠給性能帶來提升的思路。為避免一次次羅列出這樣一個(gè)簡單的列表...
摘要:前端面試每日題,以面試題來驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅(jiān)持的力量項(xiàng)目地址推薦歡迎跟一起折騰前端,系統(tǒng)整理前端知識(shí),目前正在折騰,打算打通算法與數(shù)據(jù)結(jié)構(gòu)的任督二脈。 《論語》,曾子曰:吾日三省吾身(我每天多次反省自己)。 前端面試每日3+1題,以面試題來驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)! 讓努力成為一種習(xí)慣,讓奮斗成為一種享受!相信 堅(jiān)持 的力量!!! 項(xiàng)目...
摘要:前端面試每日題,以面試題來驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅(jiān)持的力量項(xiàng)目地址推薦歡迎跟一起折騰前端,系統(tǒng)整理前端知識(shí),目前正在折騰,打算打通算法與數(shù)據(jù)結(jié)構(gòu)的任督二脈。 《論語》,曾子曰:吾日三省吾身(我每天多次反省自己)。 前端面試每日3+1題,以面試題來驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)! 讓努力成為一種習(xí)慣,讓奮斗成為一種享受!相信 堅(jiān)持 的力量!!! 項(xiàng)目...
摘要:內(nèi)聯(lián)樣式標(biāo)簽魚頭注根據(jù)張?chǎng)涡窭蠋熢谟腥€(gè)選擇器可以干掉個(gè)選擇器分享過個(gè)級(jí)聯(lián)選擇器可以擊敗個(gè)選擇器目前已無此現(xiàn)象。 作者:陳大魚頭 github: KRISACHAN 在上一篇的HTML的標(biāo)簽與語意中簡單的介紹了HTML標(biāo)簽跟其一些屬性,向各位堅(jiān)持看到這里的親表示真誠的感謝。本篇主要會(huì)分享一些跟CSS選擇器(CSS Selectors)相關(guān)的內(nèi)容,有興趣的請(qǐng)繼續(xù)往下看。 CSS選擇...
摘要:在與李世石比賽期間,谷歌天才工程師在漢城校區(qū)做了一次關(guān)于智能計(jì)算機(jī)系統(tǒng)的大規(guī)模深度學(xué)習(xí)的演講。而這些任務(wù)完成后,谷歌已經(jīng)開始進(jìn)行下一項(xiàng)挑戰(zhàn)了。谷歌深度神經(jīng)網(wǎng)絡(luò)小歷史谷歌大腦計(jì)劃于年啟動(dòng),聚焦于真正推動(dòng)神經(jīng)網(wǎng)絡(luò)科學(xué)能達(dá)到的較先進(jìn)的技術(shù)。 在AlphaGo與李世石比賽期間,谷歌天才工程師Jeff Dean在Google Campus漢城校區(qū)做了一次關(guān)于智能計(jì)算機(jī)系統(tǒng)的大規(guī)模深度學(xué)習(xí)(Large-...
閱讀 3212·2021-11-17 09:33
閱讀 3296·2021-11-15 11:37
閱讀 2962·2021-10-19 11:47
閱讀 3212·2019-08-29 15:32
閱讀 1014·2019-08-29 15:27
閱讀 1536·2019-08-29 13:15
閱讀 941·2019-08-29 12:47
閱讀 2033·2019-08-29 11:30