CSS選擇器

1.class 和 id 的使用場景?

class是類违孝,用于CSS刹前,可以多個HTML標(biāo)簽復(fù)用。id是HTML標(biāo)簽的唯一身份證雌桑,具有唯一性喇喉,只允許出現(xiàn)一次,可以用于CSS校坑,也可以用于JS拣技。但一般在實(shí)際的開發(fā)中,class用于CSS耍目,id則用于JS膏斤。

2.CSS選擇器常見的有幾種?

  • id選擇器,HTML: <div id="head"></div>邪驮,CSS: #head{color: red;}莫辨。
  • 類選擇器,HTML:<div class="head"></div>,CSS: .head{color: red;}衔掸。
  • 標(biāo)簽選擇器烫幕,HTML:<div id="head"></div>,CSS: div{color: red;}敞映。
  • 偽類選擇器较曼,HTML:<div class="head"></div>
    CSS:
    .head::before{color: red;}振愿,在.head上方增加一個行內(nèi)元素捷犹。
    .head::after{color: red;},在.head下方增加一個行內(nèi)元素冕末。
    .head:first-child{color: red;}萍歉,class為head的元素的父元素下的第一個子元素。
    .head:last-child{color: red;}档桃,class為head的元素的父元素下的最后一個子元素枪孩。
    .head:first-of-type{color: red;},class為head的元素的父元素下的同種類型元素中的第一個子元素藻肄。
    .head:last-of-type{color: red;}蔑舞,class為head的元素的父元素下的同種類型元素中的最后一個子元素。
    .head:nth(n)-child{color: red;}嘹屯,class為head的元素的父元素下的第n個子元素攻询。
    所以其實(shí)這里的child代表后代,type代表標(biāo)簽類型州弟。
  • 組合選擇器钧栖,HTML:
<div>
        <p>123</p>
        <section><p>456</p></section>
    </div>

CSS:div p{color: red;},這是所有后代選擇器,中間以一個空格連接婆翔,凡是div標(biāo)簽后代中的P標(biāo)簽拯杠,都會被選擇,所以這里的123和456都會變紅啃奴。div>p{color: red;}阴挣,這是直接后代選擇器,使用 " > " 連接纺腊,只有div標(biāo)簽下的第一代p標(biāo)簽才會被選中,所以這里只有123會變紅茎芭。

3.選擇器的優(yōu)先級是怎樣的?對于復(fù)雜場景如何計(jì)算優(yōu)先級揖膜?

優(yōu)先級順序,從上到下梅桩,依次遞減:
1.!important
2.內(nèi)聯(lián)樣式
3.id選擇器
4.class選擇器
5.標(biāo)簽選擇器
6.偽類選擇器
在復(fù)雜場景下壹粟,一般先分別計(jì)算各個選擇器的優(yōu)先級權(quán)重,然后相加得出和,權(quán)重值之和越大趁仙,優(yōu)先級越高洪添。

4.a:link, a:hover, a:active, a:visited 的順序是怎樣的? 為什么雀费?

順序依次為a:link > a:hover > a:active > a:visited干奢。
a:link為標(biāo)簽初始狀態(tài),未經(jīng)過任何操作盏袄。a:hover是光標(biāo)經(jīng)過標(biāo)簽時的狀態(tài)忿峻。a:active是鼠標(biāo)點(diǎn)擊標(biāo)簽并且還未松開點(diǎn)擊按鍵時的狀態(tài) 。a:visited是點(diǎn)擊標(biāo)簽之后辕羽,松開按鍵逛尚,然后光標(biāo)離開標(biāo)簽之后的狀態(tài)〉笤福可以使用love hate的方式來記憶绰寞,用愛包裹恨,即L(H A)V.

5.以下選擇器分別是什么意思?

選擇器.png
  • 1為選擇id為header的標(biāo)簽铣口。
  • 2為選擇class為header的標(biāo)簽滤钱。
  • 3為選擇class為header并且后代class為logo的標(biāo)簽。
  • 4為選擇class為header或者class為mobile的標(biāo)簽枷踏,因?yàn)?“ . ” 和 “ # ”也可以作為分隔符菩暗。
  • 5其實(shí)是將兩個組合選擇器的縮寫形式,他們共用一個樣式旭蠕,選擇class為header并且后代元素為p標(biāo)簽的標(biāo)簽停团,另外一個是選擇class為header并且后代元素為h3標(biāo)簽的標(biāo)簽。
  • 6為選擇id為header并且后代元素的class為nav的標(biāo)簽的直系后代為li標(biāo)簽的標(biāo)簽掏熬。
  • 7為選擇id為header并且后代元素為a標(biāo)簽的標(biāo)簽佑稠,當(dāng)鼠標(biāo)光標(biāo)經(jīng)過該標(biāo)簽時,執(zhí)行其中的樣式旗芬。
  • 8為選擇id為header并且后代元素的class為logo的標(biāo)簽的所有兄弟p標(biāo)簽舌胶。
  • 9為選擇id為header并且后代元素為input標(biāo)簽并且該標(biāo)簽的屬性type=text。
我所知道的偽類選擇器如下:
  • ::before,相當(dāng)于在標(biāo)簽的上方加一個span疮丛。
  • ::after,相當(dāng)于在標(biāo)簽的下方加一個span幔嫂。
  • ::selection,被光標(biāo)選擇的元素誊薄。
  • :first-child,滿足冒號左側(cè)條件下的元素的父元素下的第一個滿足冒號左側(cè)條件的子元素履恩。
  • :last-child,滿足冒號左側(cè)條件下的元素的父元素下的最后一個滿足冒號左側(cè)條件的子元素。
  • :first-of-type,滿足冒號左側(cè)條件下的元素的父元素下的同種類型元素(意思就是同一種HTML標(biāo)簽)中的第一個滿足冒號左側(cè)條件的子元素呢蔫。
  • :last-of-type,滿足冒號左側(cè)條件下的元素的父元素下的同種類型元素(意思就是同一種HTML標(biāo)簽)中的最后一個滿足冒號左側(cè)條件的子元素切心。
  • :nth(n)-of-child,滿足冒號左側(cè)條件下的元素的父元素下的第n個(n其實(shí)是個表達(dá)式,也可改成其他的表達(dá)式,比如2n+1)滿足冒號左側(cè)條件的子元素绽昏。
  • :nth(n)-of-type,滿足冒號左側(cè)條件下的元素的父元素下的同種類型元素(意思就是同一種HTML標(biāo)簽)中的第n個(n其實(shí)是個表達(dá)式协屡,也可改成其他的表達(dá)式,比如2n+1)滿足冒號左側(cè)條件的子元素全谤。
  • 還有a標(biāo)簽所特有的偽類選擇器:上面已經(jīng)答過了肤晓,這里就不再過多重復(fù)了。
div:first-child啼县、div:first-of-type材原、div :first-child和div :first-of-type的作用和區(qū)別 (注意空格的作用)
  • 第一個為div標(biāo)簽的父元素下的第一個div標(biāo)簽。
  • 第二個為div標(biāo)簽的父元素下的同種類型標(biāo)簽下的第一個類型為div標(biāo)簽的元素季眷。
  • 第三個為div標(biāo)簽的后代子元素中的父元素下的第一個子元素余蟹。
  • 第四個為div標(biāo)簽的后代子元素的父元素下的同種類型標(biāo)簽下的第一個子元素。
運(yùn)行如下代碼子刮,解析下輸出樣式的原因威酒。
代碼.png

aa字體變紅,背景色變藍(lán)挺峡。
bb僅背景色變藍(lán)葵孤。
ccc無變化。
分析如下:
首先第一個樣式橱赠,

.item1:first-child{
    color: red;
}

找到class為item1的元素的父元素尤仍,然后在該父元素下尋找第一個子元素,所以aa字體變紅狭姨。
然后第二個樣式宰啦,

.item1:first-of-type{
    background: blue;
}

同樣的,找到class為item1的元素的父元素饼拍,然后在該父元素下的同一種標(biāo)簽中赡模,尋找第一個子元素,發(fā)現(xiàn)p標(biāo)簽的第一個师抄,h3標(biāo)簽的第一個滿足條件漓柑,所以aa,bb的背景色變藍(lán)。
最后叨吮,the ending辆布。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茶鉴,隨后出現(xiàn)的幾起案子锋玲,更是在濱河造成了極大的恐慌,老刑警劉巖蛤铜,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡围肥,警方通過查閱死者的電腦和手機(jī)剿干,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來穆刻,“玉大人置尔,你說我怎么就攤上這事∏馕埃” “怎么了榜轿?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長朵锣。 經(jīng)常有香客問我谬盐,道長,這世上最難降的妖魔是什么诚些? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任飞傀,我火速辦了婚禮,結(jié)果婚禮上诬烹,老公的妹妹穿的比我還像新娘砸烦。我一直安慰自己,他們只是感情好绞吁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布幢痘。 她就那樣靜靜地躺著,像睡著了一般家破。 火紅的嫁衣襯著肌膚如雪颜说。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天员舵,我揣著相機(jī)與錄音脑沿,去河邊找鬼。 笑死马僻,一個胖子當(dāng)著我的面吹牛庄拇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播韭邓,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼措近,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了女淑?” 一聲冷哼從身側(cè)響起瞭郑,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸭你,沒想到半個月后屈张,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體擒权,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年阁谆,在試婚紗的時候發(fā)現(xiàn)自己被綠了碳抄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡场绿,死狀恐怖剖效,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情焰盗,我是刑警寧澤璧尸,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站熬拒,受9級特大地震影響爷光,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梦湘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一瞎颗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捌议,春花似錦哼拔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宫补,卻和暖如春檬姥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粉怕。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工健民, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贫贝。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓秉犹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親稚晚。 傳聞我的和親對象是個殘疾皇子崇堵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1.class 和 id 的使用場景? class:類選擇器,一個標(biāo)簽可以有多個類且同一個類可以用到不同的標(biāo)簽上客燕,...
    饑人谷_兔子君閱讀 1,192評論 0 0
  • 1.CSS 元素選擇器 最常見的 CSS 選擇器是元素選擇器鸳劳。換句話說,文檔的元素就是最基本的選擇器也搓。如果設(shè)置 H...
    饑人谷_小侯閱讀 862評論 0 1
  • 1.class 和 id 的使用場景? 兩者都能選取DOM節(jié)點(diǎn)并給DOM節(jié)點(diǎn)添加樣式赏廓,但是W3C標(biāo)準(zhǔn)里規(guī)定頁面中只...
    饑人谷_米彌輪閱讀 393評論 0 1
  • 轉(zhuǎn)載自牢記31種CSS選擇器用法 1 * 星號選擇器用于選取頁面中的所有元素涵紊,可用于快速清除所有元素的 margi...
    Icestains閱讀 1,228評論 0 1
  • 30歲生日前,用100天時間流浪幔摸,紀(jì)念這一世的下一段旅程的開始…… 看著很是完美栖袋,羨慕,卻不知內(nèi)心雜亂的隨時可以撕...
    Lisa菇?jīng)?/span>閱讀 156評論 0 0