亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

css選擇器的優先級:簡潔、高效的CSS

2024-07-11 09:01:54
字體:
來源:轉載
供稿:網友

武林網(www.49028c.com)文章簡介:css選擇器的優先級和匹配原理。

選擇器種類

嚴格來講,選擇器的種類可以分為三種:標簽名選擇器、類選擇器和ID選擇器。而所謂的后代選擇器和群組選擇器只不過是對前三種選擇器的擴展應用。而在標簽內寫入style=""的方式,應該是CSS的一種引入方式,而不是選擇器,因為根本就沒有用到選擇器。而一般人們將上面這幾種方式結合在一起,所以就有了5種或6種選擇器了。

注意,ID選擇器跟類選擇器有很大的不同:一個頁面內不能出現相同的ID;再就是ID也是后臺開發人員會經常用的,所以前端開發人員應該盡量少的使用。當然跟后臺人員的工作配合十分嫻熟之后,這些都不會成為限制。

擴展選擇器

◆后代選擇器,如.polaris span img{},后代選賊器實際上是使用多個選擇器加上中間的空格來找到具體的要控制標簽。

◆群組選擇器,如div,span,img{},群組選擇器實際上是對CSS的一種簡化寫法,只不過把有相同定義的不同選擇器放在一起,省了很多代碼。

選擇器的優先級別

了解了各種選擇器后,還有一個重要的知識點就是CSS選擇器的優先級。這也就是為什么polaris會遇到文章開頭的問題。舉個簡單的例子:

如果已經把.polaris下面span內的字體設置成紅色:

  • .polaris span {color:red;}
  • 這時,如果要改變.beijixing的顏色為藍色,用下面的命令是不能實現的:

  • .beijixing {color:blue;}
  • 出現這種情況就是因為后一個命令的優先級不夠,兩條相互沖突的樣式設置,瀏覽器只會執行優先級較高的那個。

    那么選擇器的優先級是怎么規定的呢?

    一般而言,選擇器越特殊,它的優先級越高。也就是選擇器指向的越準確,它的優先級就越高。通常我們用1表示標簽名選擇器的優先級,用10表示類選擇器的優先級,用100標示ID選擇器的優先級。比如上例當中 .polaris span {color:red;}的選擇器優先級是 10 + 1 也就是11;而 .polaris 的優先級是10;瀏覽器自然會顯示紅色的字。理解了這個道理之后下面的優先級計算自是易如反掌:

    對于什么情況下使用什么選擇器,用不同選擇器的原則是:第一:準確的選到要控制的標簽;第二:使用最合理優先級的選擇器;第三:HTML和CSS代碼盡量簡潔美觀。通常:

    1、最常用的選擇器是類選擇器。

    2、li、td、dd等經常大量連續出現,并且樣式相同或者相類似的標簽,我們采用類選擇器跟標簽名選擇器結合的后代選擇器 .xx li/td/dd {} 的方式選擇。

    3、極少的情況下會用ID選擇器,當然很多前端開發人員喜歡header,footer,banner,content設置成ID選擇器的,因為相同的樣式在一個頁面里不可能有第二次。

    在這里不得不提使用在標簽內引入CSS的方式來寫CSS,即:

  • 這時候的優先級是最高的。我們給它的優先級是1000,這種寫法不推薦使用,特別是對新手來說。這也完全違背了內容和顯示分離的思想。DIV+CSS的優點也不能再有任何體現。

    后代選擇器的定位原則

    在這里介紹一下對于后代選擇器,瀏覽器是如何查找元素的呢?

    瀏覽器CSS匹配不是從左到右進行查找,而是從右到左進行查找。比如DIV#divBox p span.red{color:red;},瀏覽器的查找順序如下:先查找html中所有class='red'的span元素,找到后,再查找其父輩元素中是否有p元素,再判斷p的父元素中是否有id為divBox的div元素,如果都存在則匹配上。

    瀏覽器從右到左進行查找的好處是為了盡早過濾掉一些無關的樣式規則和元素。比如如下html和css:

    如果按從左到右查找,那會先查找到很多不相關的p和span元素。而如果按從左到右的方式進行查找,則首先就查找到<span>的元素。firefox稱這種查找方式為key selector(關鍵字查詢),所謂的關鍵字就是樣式規則中最后(最右邊)的規則,上面的key就是span.red。

    簡潔、高效的CSS

    所謂高效的CSS就是讓瀏覽器在查找style匹配的元素的時候盡量進行少的查找,下面列出一些我們常見的寫CSS犯一些低效錯誤:

    ◆不要在ID選擇器前使用標簽名

    一般寫法:DIV#divBox

    更好寫法:#divBox

    解釋: 因為ID選擇器是唯一的,加上div反而增加不必要的匹配。

    ◆不要再class選擇器前使用標簽名

    一般寫法:span.red

    更好寫法:.red

    解釋:同第一條,但如果你定義了多個.red,而且在不同的元素下是樣式不一樣,則不能去掉,比如你css文件中定義如下:

     

  • p.red{color:red;}
  • span.red{color:#ff00ff}
  • 如果是這樣定義的就不要去掉,去掉后就會混淆,不過建議最好不要這樣寫

    ◆盡量少使用層級關系

    一般寫法:#divBox p .red{color:red;}

    更好寫法:.red{..}

    ◆使用class代替層級關系

    一般寫法:#divBox ul li a{display:block;}

    更好寫法:.block{display:block;}

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    中文字幕日韩欧美| 亚洲毛片在线看| 国产精品99蜜臀久久不卡二区| 欧美日韩免费看| 久久99精品久久久久久青青91| 日韩精品极品毛片系列视频| 久久久久中文字幕2018| 国产成人久久久| 日韩在线视频导航| 欧日韩不卡在线视频| 欧美中文在线视频| 久久国内精品一国内精品| 欧美日韩国产成人| 欧美日本在线视频中文字字幕| 日韩第一页在线| 久99九色视频在线观看| 午夜伦理精品一区| 欧美老少做受xxxx高潮| 亚洲人精选亚洲人成在线| 亚洲精选中文字幕| 一区二区三区精品99久久| 欧美视频在线观看免费| 亚洲第一中文字幕| 国产精品高潮在线| 欧美福利在线观看| 色香阁99久久精品久久久| 国产精品视频999| 欧美成人精品三级在线观看| 久久久久久久亚洲精品| 日韩在线观看免费高清| 欧美精品videos性欧美| 日韩电影视频免费| 国产亚洲欧美日韩精品| 欧美高跟鞋交xxxxxhd| 亚洲成色777777在线观看影院| 超碰97人人做人人爱少妇| 永久免费精品影视网站| 久久精品这里热有精品| 亚洲精品网站在线播放gif| 96pao国产成视频永久免费| 日韩av黄色在线观看| 97精品一区二区视频在线观看| 欧美精品在线观看91| 欧美电影免费观看高清完整| 91精品国产91久久久久福利| 久久精品中文字幕一区| 精品久久久久久亚洲国产300| 在线观看中文字幕亚洲| 欧美日韩国内自拍| 国产精品第二页| 欧美猛男性生活免费| 国产视频精品久久久| 欧美精品免费在线| 91亚洲精品视频| 国产国产精品人在线视| 91sa在线看| 国产精品海角社区在线观看| 亚洲黄色av女优在线观看| 亚洲第一福利在线观看| 欧美精品videofree1080p| 亚洲加勒比久久88色综合| 日韩av在线免费观看| 国产在线视频不卡| 九九九热精品免费视频观看网站| 欧美色videos| 最近2019中文字幕在线高清| 日韩一区二区三区在线播放| 日韩电视剧免费观看网站| 在线精品视频视频中文字幕| 日韩国产中文字幕| 精品人伦一区二区三区蜜桃网站| 热草久综合在线| 久久99久久99精品中文字幕| 亚洲精品福利在线| 国产精品日韩欧美综合| 川上优av一区二区线观看| 日韩中文字幕免费| 国产手机视频精品| 日韩av在线导航| 国产91精品最新在线播放| 91久热免费在线视频| 日韩av片永久免费网站| 国产999精品久久久影片官网| 欧美日韩一区二区三区| 亚洲福利在线看| 亚洲人成啪啪网站| 国产精品视频久久| 亚洲久久久久久久久久久| 日韩av日韩在线观看| 精品久久久久久久久久久| 一区二区三区国产在线观看| 97色伦亚洲国产| 国产欧美精品久久久| 国产欧美va欧美va香蕉在线| 97超级碰碰人国产在线观看| 欧美夫妻性生活xx| 欧美超级免费视 在线| 欧美成年人视频网站| 国产va免费精品高清在线| 大胆人体色综合| 精品人伦一区二区三区蜜桃免费| 国模私拍视频一区| 中文字幕av一区二区| www.99久久热国产日韩欧美.com| 欧美视频在线看| 欧美寡妇偷汉性猛交| 国产精品羞羞答答| 欧美激情视频给我| 日本国产欧美一区二区三区| 久久久久久久久网站| 欧美性高潮床叫视频| 成人妇女淫片aaaa视频| 欧美一级淫片丝袜脚交| 欧美一级大片在线免费观看| 7m第一福利500精品视频| 最新国产成人av网站网址麻豆| 日韩一区在线视频| 亚洲黄色av女优在线观看| 精品亚洲永久免费精品| 91日韩在线视频| 久久精品免费电影| 久久久久久国产免费| 国产精品1234| 97热在线精品视频在线观看| 欧美日韩一区二区免费在线观看| 日韩精品欧美国产精品忘忧草| 日韩欧美有码在线| 最近2019中文字幕一页二页| 欧美电影免费观看电视剧大全| 国产精品精品久久久| 日韩电影第一页| 日韩欧美亚洲国产一区| 91在线中文字幕| 在线播放日韩精品| 日韩欧美一区视频| 亚洲人高潮女人毛茸茸| 国产精品一区二区久久久| 欧美成人精品激情在线观看| 亚洲欧美综合区自拍另类| 日韩精品中文字幕久久臀| 一本一本久久a久久精品牛牛影视| 国产精品视频一区二区三区四| 亚洲性日韩精品一区二区| 日韩av综合网站| 亚洲欧洲第一视频| 亚洲自拍另类欧美丝袜| 国产欧美日韩综合精品| 久久久久久久久久久久久久久久久久av| 疯狂蹂躏欧美一区二区精品| 欧美大片欧美激情性色a∨久久| 久久久精品一区二区| 久久久女人电视剧免费播放下载| 色综合色综合网色综合| 亚洲国产中文字幕在线观看| 亚洲电影在线观看| 久久天天躁夜夜躁狠狠躁2022| 九九热99久久久国产盗摄| 日韩av网站导航| 中文字幕久精品免费视频| 中文字幕久精品免费视频| 日韩有码在线观看| 亚洲精品美女网站| 亚洲成人动漫在线播放| 久久久久久高潮国产精品视|