西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程DreamWeaver → CSS選擇器的權(quán)重詳解

CSS選擇器的權(quán)重詳解

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:RubyLouvre時(shí)間:2010/3/17 11:57:15字體大。A-A+

作者:佚名點(diǎn)擊:241次評(píng)論:0次標(biāo)簽: CSS

優(yōu)酷PC客戶端2017v7.1.5.1183 官方最新版
  • 類型:視頻播放大。46.2M語言:中文 評(píng)分:7.0
  • 標(biāo)簽:
立即下載

在我們開始之前,先搞明白幾個(gè)概念吧。下面是一段CSS代碼:

a {
border-bottom: 0px;
color: #5DB0E6;
}

a:focus {
outline: 1px dotted #eee;
}

a:active {
outline: 0px;
}

a:hover {
color: #7bc4f4;
}

body#jq-interior {
background-image: url(http://static.jquery.com/files/rocker/images/bg-interior-tile-drk.jpg);
}

上面這個(gè)樣式表是由一個(gè)個(gè)樣式規(guī)則組成,而每一個(gè)樣式規(guī)則又可以分為兩部分:選擇符與聲明。選擇符就相當(dāng)于jQuery的選擇器,能針對(duì)特定元素進(jìn)行設(shè)置。CSS有名叫層疊樣式表,基本上被選中的元素的子元素能繼承它的樣式,但其子元素如果設(shè)置了樣式,也能覆寫它,就像板頁巖這樣累在一起。隨著布局表格這樣落后的布局方式的式微,CSS越來越受到人們的重視。但I(xiàn)E6對(duì)CSS的支持不足與各種層不窮的bug,或者是某些大型網(wǎng)站對(duì)CSS的不合理使用,CSS的體積膨脹起來了。維護(hù)它們可是一件麻煩事,如何讓元素顯示出想要的樣式,我們就必須對(duì)權(quán)重這個(gè)概念有所了解。權(quán)重你可以說是針對(duì)樣式規(guī)則的,也可以說針對(duì)選擇符。之所以這樣說,因?yàn)橛幸粋(gè)重要的標(biāo)識(shí)符! important可以放到樣式聲明的最后,用來無視本文重點(diǎn)說的權(quán)重等級(jí)。我覺得最好還是不要用這東西,首先IE6對(duì)它支持不好,要支持它需要把一個(gè)樣式規(guī)則分開寫,另,用多了會(huì)嚴(yán)重?cái)_亂CSS的權(quán)重等級(jí)。

有關(guān)CSS權(quán)重等級(jí)的介紹最早見于W3C這篇文章,聽說IE5是最早支持CSS的,不知哪個(gè)早一點(diǎn)呢?很明顯IE是沒有完全照足它來實(shí)現(xiàn)。在《Calculating a selector's specificity》一章,它粗略地用a、b、c、d來對(duì)樣式規(guī)則進(jìn)行評(píng)估,給出每一個(gè)的得分(1 或 0),但沒有給出最終值的計(jì)算方式。

a:如果這個(gè)元素應(yīng)用了行內(nèi)樣式,它才分配此值為1。怎么是行內(nèi)樣式呢?就是標(biāo)簽內(nèi)使用style="...."的方式來設(shè)置樣式,我覺得這是很愚蠢的行為,徒然增加頁面的體積,也非常不好維護(hù),和使用那些純表示樣式的元素差不多,如big、small、b、u、strike 等等。這樣做法,我個(gè)人覺得,瀏覽器其實(shí)是為它分配了一個(gè)特別的ID(實(shí)質(zhì)上IE也是為頁面上每個(gè)元素分配了一個(gè)uniqueId),然后把它置于樣式表的最下方,于是就沒有其他樣式能覆蓋它了。
b:指一個(gè)樣式規(guī)則的選擇符存在id選擇器。比如上面的body#jq-interior ,不過這樣有點(diǎn)累贅了。我看了許多CSS選擇器的實(shí)現(xiàn),還有我在做選擇器的經(jīng)驗(yàn),body完全沒有必要。一個(gè)選擇符就相當(dāng)于一個(gè)選擇器群組,它由各種各樣的選擇器組成。選擇器得到一個(gè)符合CSS選擇符結(jié)構(gòu)的字符串,如果它足夠聰明的話,會(huì)先對(duì)字符串進(jìn)行trim操作,然后進(jìn)行掃描,看有沒有id選擇器,有的話會(huì)砍掉前面的部分,然后再用正則對(duì)其進(jìn)行肢解……換言之,id選擇器具有強(qiáng)烈的排它性,只有并聯(lián)選擇器可以容忍它。
c:指一個(gè)樣式規(guī)則的選擇符是否存在類選擇器與偽類選擇器(:hover,:link,:active,:target)。這些基本上CSS2.1的東西,CSS3增加的基本是結(jié)構(gòu)偽類還有一個(gè)selection偽元素,沒有破壞這個(gè)評(píng)分體系。
d:這個(gè)權(quán)重最低了,指選擇符里存在標(biāo)簽選擇器,與偽元素。何為偽元素呢?前面有::的東西就是偽元素了。注意,早期的偽元素也和偽類一樣,只有一個(gè)冒號(hào)。這可能是后來w3c心血來潮,把它們分離出來(css3規(guī)范),造成今天的樣子。
雖然到目前為止,我們已經(jīng)知道a的權(quán)重肯定大于b,而b大于c,d最小,但這實(shí)在不好計(jì)算,對(duì)于接著下來的示例也不好解說。于是我引進(jìn)外國(guó)另一個(gè)補(bǔ)充方案,它出于這篇名叫《CSS: Specificity Wars》的有才文章。。它把a(bǔ)bcd當(dāng)成算術(shù)上的個(gè)、十、百、千這樣的計(jì)數(shù)單位,各自相乘最后一加,優(yōu)先級(jí)就一目了然啦。我們甚至可以將它們轉(zhuǎn)化為以下一個(gè)直觀的圖示。

好了,我們開始分析一下w3c的示例,看它能給我們什么多余的信息。

/*by 司徒正美 All rights reserve*/

* {} /* a=0 b=0 c=0 d=0 -> specificity = 0,0,0,0 */

/* 通配符選擇器權(quán)重為0,在IE中,它無法區(qū)分元素節(jié)點(diǎn)與注釋節(jié)點(diǎn) */

li {} /* a=0 b=0 c=0 d=1 -> specificity = 0,0,0,1 */

/* 標(biāo)簽選擇器為1 */

li:first-line {} /* a=0 b=0 c=0 d=2 -> specificity = 0,0,0,2 */

/* 標(biāo)簽選擇器與偽元素為1 */

ul li {} /* a=0 b=0 c=0 d=2 -> specificity = 0,0,0,2 */

/*這里存在后代選擇器的概念,但計(jì)算權(quán)重時(shí)像它這樣的關(guān)系選擇器會(huì)被進(jìn)一步肢解,當(dāng)成兩個(gè)標(biāo)簽選擇器了。*/

ul ol+li {} /* a=0 b=0 c=0 d=3 -> specificity = 0,0,0,3 */

/* 無視后代選擇器與相鄰選擇器,只看它里面的選擇器的成分 */

h1 + *[rel=up]{} /* a=0 b=0 c=1 d=1 -> specificity = 0,0,1,1 */

/* 這個(gè)相鄰選擇器由標(biāo)簽選擇器與屬性選擇器組成,屬性選擇器為10 */

ul ol li.red {} /* a=0 b=0 c=1 d=3 -> specificity = 0,0,1,3 */

/*無視后代選擇器,3個(gè)標(biāo)簽與1個(gè)類選擇器,類(className)在DOM中的位置比較顯赫,

擁有專門的getElementByClassName,等級(jí)為c,合計(jì)得分13 */

li.red.level {} /* a=0 b=0 c=2 d=1 -> specificity = 0,0,2,1 */

/*兩個(gè)類選擇器與一個(gè)標(biāo)簽選擇器,合計(jì)得分21 */

#x34y {} /* a=0 b=1 c=0 d=0 -> specificity = 0,1,0,0 */

/*getElementById,在頁面上獲得元素最快的方式,權(quán)重為b,得分100 */

style="" /* a=1 b=0 c=0 d=0 -> specificity = 1,0,0,0 */

/*行內(nèi)樣式,得分1000,會(huì)覆蓋內(nèi)部樣式或外部樣式的設(shè)置*/

最后總結(jié)一下,十大選擇器與偽元素的權(quán)重情況:

    暴風(fēng)影音
    (25)暴風(fēng)影音
    暴風(fēng)影音是小編最喜歡用的一款播放器,其實(shí)是習(xí)慣問題,畢竟用了很久了。暴風(fēng)影音在年開始就是最火的萬能播放器,當(dāng)時(shí)基本上家家戶戶的電腦都有暴風(fēng)影音,因?yàn)樗鄬?duì)其他播放器小,而且是免費(fèi)的,還那是一個(gè)軟件相對(duì)收費(fèi)的年代,不像現(xiàn)在所有的軟件基本都免費(fèi)了,暴風(fēng)影音無論在功能還是用戶體驗(yàn)上都很優(yōu)秀,特別是獨(dú)特的左眼功能更是讓人贊不絕口。暴風(fēng)影音官方介紹規(guī)則創(chuàng)新標(biāo)新暴風(fēng)模式在視頻領(lǐng)域融資燒錢拼入口,買版權(quán)的橫行模...更多>>
    視頻播放器排行榜
    (30)視頻播放器排行榜
    視頻播放器排行榜最新出爐的視頻播放器下載排名,好的視頻播放器一般要滿足三點(diǎn)一是免費(fèi)而是支持播放的格式多三是播放穩(wěn)定流暢。西西為您精選出視頻播放器排行榜軟件下載大全。視頻播放器哪個(gè)好眾所周知的視頻播放器有百度影音快播暴風(fēng)影音騰訊視頻播放器等等,基本上用戶使用的也就是這幾款,除了一些針對(duì)新強(qiáng)的視頻播放器之外,西西建議大家可以使用這幾款大品牌的。視頻播放器概念視頻播放器通常指的視頻播放器是指能播放以數(shù)字...更多>>
    • 愛奇藝視頻播放器5.5.33.3550 官方

      02-14 / 37.3M

      推薦理由:奇藝影音是一款專注視頻播放的客戶端軟件,您可運(yùn)行奇藝影音,在線享受奇藝網(wǎng)站內(nèi)全部免費(fèi)高清正版視頻。主
    • 優(yōu)酷PC客戶端2017v7.1.5.1183 官方

      02-14 / 46.2M

      推薦理由:優(yōu)酷客戶端為您推薦更多精選熱門視頻,通過多條件篩選快速定位匹配結(jié)果,提供多種畫質(zhì)、多種語言切換播放和
    • 影音先鋒資源版v9.9.9.2 官方最新版

      01-25 / 17.6M

      推薦理由:影音先鋒資源版是自主研發(fā)的播放核心的P2P云3D播放器!邊下邊播邊硬解即點(diǎn)即播!基于DirectShow和DirectSoun
    • 暴風(fēng)影音2017V5.67.0116.1111 官方

      02-14 / 41.4M

      推薦理由:暴風(fēng)影音2017是國(guó)內(nèi)一款萬能視頻播放器,也是全球領(lǐng)先的萬能媒體播放軟件,暴風(fēng)影音2017官方免費(fèi)下載不僅支
    • 騰訊視頻播放器2017v9.19.1987 官方

      02-20 / 35.2M

      推薦理由:騰訊視頻2016官方免費(fèi)下載是騰訊視頻旗下的客戶端產(chǎn)品,支持豐富內(nèi)容的在線點(diǎn)播及電視臺(tái)直播,提供列表管理
    • 射手影音播放器V3.7.2437 中文官方

      01-05 / 7.8M

      推薦理由:射手影音播放器是由射手網(wǎng)創(chuàng)建與維護(hù)的開源播放器項(xiàng)目。 采用最新DirectX硬件加速技術(shù),特有畫面增益,清晰
    lol視頻
    (12)lol視頻
    英雄聯(lián)盟類似于的游戲,畫面比強(qiáng),死亡不會(huì)減錢,擁有自動(dòng)匹配系統(tǒng),使得和玩家游戲變得更加簡(jiǎn)單。西西為您提供視頻下載軟件及視頻錄制軟件大全。常用的視頻下載軟件有哪些一般來說,玩的玩家常用的視頻下載軟件有愛酷優(yōu)酷客戶端等軟件,西西推薦一些手機(jī)端的視頻下載應(yīng)用。游戲介紹英雄聯(lián)盟是由美國(guó)開發(fā)的大型競(jìng)技場(chǎng)戰(zhàn)網(wǎng)游戲,其主創(chuàng)團(tuán)隊(duì)是由實(shí)力強(qiáng)勁的的核心人物,以及暴雪等著名游戲公司的美術(shù)程序策劃人員組成,將的玩法從對(duì)戰(zhàn)...更多>>
    • 秀爽LOL英雄聯(lián)盟視頻2.5 安卓版

      10-09 / 3.9M

      推薦理由:秀爽LOL英雄聯(lián)盟視頻,秀爽游戲出品的英雄聯(lián)盟游戲?qū)?zhàn)視頻應(yīng)用,讓你在android手機(jī)上看到爽! 功能:聯(lián)盟
    • LOL Observer 客戶端4.0.0.7 官方最

      10-24 / 106KB

      推薦理由:英雄聯(lián)盟開放了觀察者模式以便玩家可以觀看其他玩家的對(duì)戰(zhàn),但是在不加好友的情況下想要觀看該玩家的比賽比
    • 優(yōu)酷PC客戶端2017v7.1.5.1183 官方

      02-14 / 46.2M

      推薦理由:優(yōu)酷客戶端為您推薦更多精選熱門視頻,通過多條件篩選快速定位匹配結(jié)果,提供多種畫質(zhì)、多種語言切換播放和
    • lol直播視頻(TFbeautify for Leagu

      10-08 / 3.0M

      推薦理由:LOL美化助手,不僅能夠美化游戲,還能夠當(dāng)OB 觀看高端鉆石排位賽 功能:游戲美化,地圖美化,界面美化 視
    • 多玩lol視頻手機(jī)版V1.0.2 最新版

      07-16 / 1.2M

      推薦理由:多玩LOL視頻是歡多玩論壇最新推出的一款手機(jī)看LOL視頻軟件,每日更新最新英雄聯(lián)盟視頻,可在線離線播放。
    • 英雄聯(lián)盟lol視頻1.2 安卓版

      05-31 / 1.8M

      推薦理由:英雄聯(lián)盟視頻是一款旨在為L(zhǎng)OL玩家提供用手機(jī)更便捷的觀看LOL視頻的應(yīng)用。是一款運(yùn)行在android平臺(tái)上的lol視
    優(yōu)酷下載器
    (107)優(yōu)酷下載器
    有時(shí)候我們?cè)趦?yōu)酷網(wǎng)看到一些好的視頻想把它下載到本地,可惜無法直接就下載到視頻,需要用到優(yōu)酷客戶端還要注冊(cè)賬號(hào)什么的,小編覺得太麻煩了,用一個(gè)優(yōu)酷下載器就搞定了。優(yōu)酷下載器大全小編為您提供最好用的優(yōu)酷下載器官方下載,完全綠色免費(fèi)哦,相信不少經(jīng)常上優(yōu)酷看視頻的朋友是可以用到的。優(yōu)酷下載器是什么優(yōu)酷下載器包融優(yōu)酷的在線觀看,視頻轉(zhuǎn)碼,以及下載和上傳于一體,提供下載,轉(zhuǎn)存,播放,搜索,上傳視頻五大功能。另...更多>>
    優(yōu)酷客戶端
    (107)優(yōu)酷客戶端
    年月日,中國(guó)第一視頻網(wǎng)站優(yōu)酷宣布旗下客戶端正式更名為優(yōu)酷客戶端,全新界面優(yōu)化人機(jī)互動(dòng),七大功能滿足視頻用戶各項(xiàng)需求,用戶登錄即可搶先下載體驗(yàn)。新客戶端為操作界面進(jìn)行了重新設(shè)計(jì),全新系統(tǒng)全面優(yōu)化了人機(jī)互動(dòng),七大功能滿足用戶各類需求。資深用戶表示,新客戶端功能與界面都更像站內(nèi)播放器了,桌面優(yōu)酷的美稱更顯貼切。優(yōu)酷客戶端七大功能.上傳超上傳延續(xù)了優(yōu)酷一貫堅(jiān)持的快者為王,目前最大支持文件上傳。.下載視頻下載...更多>>
    • 優(yōu)酷PC客戶端2017v7.1.5.1183 官方

      02-14 / 46.2M

      推薦理由:優(yōu)酷客戶端為您推薦更多精選熱門視頻,通過多條件篩選快速定位匹配結(jié)果,提供多種畫質(zhì)、多種語言切換播放和
    • 優(yōu)酷視頻v6.2.1安卓手機(jī)通用版

      01-25 / 46M

      推薦理由:優(yōu)酷android客戶端支持在線視頻播放,共有資訊、原創(chuàng)、音樂、體育、搞笑五個(gè)分類。優(yōu)酷手機(jī)客戶端也可以利用
    • 優(yōu)酷mac客戶端1.1.9.01055 官方最新

      01-30 / 9.8M

      推薦理由:優(yōu)酷客戶端mac版是專為OSX平臺(tái)用戶量身打造,為您推薦精選視頻,更多頻道豐富內(nèi)容,為您提供播放、下載、上
    • HD優(yōu)酷 Android Pad版V3.1.2 官方最

      04-28 / 6.8M

      推薦理由:優(yōu)酷是中國(guó)領(lǐng)先的視頻行業(yè)的第一品牌。優(yōu)酷注重用戶體驗(yàn),不斷完善服務(wù)策略,其卓爾不群的“快速播放,快速
    • 優(yōu)酷HD for iPadV3.9.2 2015.2.13

      03-05 / 44M

      推薦理由:優(yōu)酷網(wǎng)專為IPAD訂制視頻播放應(yīng)用客戶端產(chǎn)品,它依托于優(yōu)酷網(wǎng)的優(yōu)勢(shì)視頻資源與技術(shù),為用戶提供了高清的視頻播
    • 安卓版優(yōu)酷客戶端官方v5.4.1 去廣告

      06-02 / 26.1M

      推薦理由:安卓版優(yōu)酷客戶端,android手機(jī)版優(yōu)酷視頻播放工具,用來在安卓系統(tǒng)的手機(jī)上觀看youku網(wǎng)站的海量精彩視頻!

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)