04-C3選擇器 限制類型與不限制類型

一季惩、選擇器 相對(duì)于父元素的結(jié)構(gòu)偽類
1 不限制類型

E:first-child:查找E元素的父級(jí)元素中的第一個(gè)子元素。在查找的時(shí)候并不會(huì)限制查找的元素的類型 腻格。

E:first-child{} 查找E這個(gè)元素的父元素的第一個(gè)子元素
E:last-child{} 最后一個(gè)子元素
E:nth-child(n){}第n個(gè)子元素(索引從1開始)画拾,計(jì)算方法是E元素的全部兄弟元素

  • demo1 里的例子 與demo2對(duì)比
    這個(gè)例子里 無限制查找索引從1開始
    無限制類型查找lili的父元素ul的子元素的第一個(gè)元素 找的就會(huì)是div
    但是樣式不起作用 因?yàn)橹粫?huì)對(duì)li起作用
    這個(gè)first就從ul結(jié)構(gòu)內(nèi)的第一個(gè)子元素開始算div就算是first
<style>
        ul {
            width: 280px;
            margin: 0 auto;
        }
        
        li {
            list-style: none;
            float: left;
            width: 60px;
            height: 60px;
            border: 1px solid #ccc;
            margin-right: 10px;
            margin-top: 10px;
            text-align: center;
            line-height: 60px;
        }

        /*沒有限制類型 找li的父元素ul的子元素的第一個(gè)元素 找的就會(huì)是div 但是給了樣式無效 因?yàn)檎也坏絣i  這個(gè)first就從ul結(jié)構(gòu)內(nèi)的第一個(gè)子元素開始算div就算是first */
        
          li:first-child {
            width: 60px;
            height: 60px;
            border: 1px solid black;
            background-color: pink;
        }
        
 </style>
<body>
    <ul>
        <div>0</div>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
    </ul>
</body>
無限制類型選取父元素子元素中的第一個(gè)是div 所以樣式不起作用
  • demo1.2 li:nth-child(n) 無限制正著排序 索引從1開始
/*無限制類型 從li的父元素ul的子元素中找第二個(gè) 第二個(gè)元素剛好是第一個(gè)li所以樣式生效*/
<style>      
        li:nth-child(2) {
            background-color: hotpink;
        }
</style>
<body>
    <ul>
        <div>0</div>
        <li>1p h</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
    </ul>
</body>
無限制類型選取父元素第二個(gè)子元素 選取到第一個(gè)li所以樣式起作用
  • demo1.3 li:nth-last-child(n) 無限制倒著排序 索引從1開始
 /*無限制類型 從li的父元素ul的子元素中倒著數(shù)第二個(gè)  剛好也是li 樣式生效*/
<style>        
        li:nth-last-child(2) {
            background-color: skyblue;
        }
</style>
</head>
<body>
    <ul>
        <div>0</div>
        <li>1p h</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8 sb</li>
        <li>9</li>
    </ul>
</body>
無限制類型找父元素的子元素倒著數(shù)第二個(gè) 剛好是li 樣式生效
  • demo1.4 無限制類型的奇數(shù)偶數(shù)選擇器
    div開始是第一個(gè)first 所以偶數(shù)從li1開始
 /*無限制類型從li的父元素的子元中的偶數(shù)*/
<style>        
        li:nth-child(even) {
            background-color: orange;
        }
        /*無限制類型從li的父元素的子元中的奇數(shù)*/
        
        li:nth-child(odd) {
            background-color: pink;
        }
</style>
</head>


<body>
    <ul>
        <div>0</div>
        <li>1p h</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8 sb</li>
        <li>9</li>
    </ul>
</body>
因?yàn)橛袀€(gè)div 所以奇數(shù)從div開始
2 限制類型

E:first-of-type{}
E:last-of-type{} 發(fā)
E:nth-of-type(n){} 指定類型 索引從1開始

  • demo2.1 有限制選擇第一個(gè)子元素li li:first-of-type
    這個(gè)例子里 有限制類型查找 找li的父元素ul的子元素li中的第一個(gè)li 此時(shí)first從子元素li中找第一個(gè) 同時(shí)限制是li 所以樣式會(huì)起作用
 <style>
        ul {
            width: 280px;
            margin: 0 auto;
        }
        
        li {
            list-style: none;
            float: left;
            width: 60px;
            height: 60px;
            border: 1px solid #ccc;
            margin-right: 10px;
            margin-top: 10px;
            text-align: center;
            line-height: 60px;
        }
        /*沒有限制類型 從li的父元素ul開始找第一個(gè)子元素 找的就會(huì)是0號(hào)div 但是給的樣式無效  */
        
        li:first-child {
            background-color: pink;
        }
        /*有限制類型 從li的父元素ul開始找第一個(gè)li元素 找的就會(huì)是1號(hào)li*/
        
        li:first-of-type {
            background-color: pink;
        }
    </style>
</head>


<body>
    <ul>
        <div>0</div>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
    </ul>
</body>
有限制類型.png

  • 大demo 有限制類型選擇元素 與無限制類型選擇元素 對(duì)比
    a)demo 無類型限制選擇器 li:nth-child(even); li:nth-child(odd)
    計(jì)數(shù)從 ul的所有子元素開始計(jì)數(shù) 索引從1開始 如圖所示 樣式只jia在li上
<style>
/*ul li 樣式同上*/
div {
            float: left;
            width: 60px;
            height: 60px;
            line-height: 60px;
            text-align: center;
            margin-right: 10px;
            margin-top: 10px;
            border: 1px solid pink;
        }
        /*無限制類型從li的父元素的子元中的偶數(shù)*/
        
        li:nth-child(even) {
            background-color: orange;
        }
        /*無限制類型從li的父元素的子元中的奇數(shù)*/
        
        li:nth-child(odd) {
            background-color: pink;
        }
</style>
</head>


<body>
    <ul>
        <div>00</div>
        <li>1p h</li>
        <li>2</li>
        <div>11</div>
        <li>3</li>
        <li>4</li>
        <div>22</div>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8 sb</li>
        <li>9</li>
    </ul>
</body>

無限制類型選擇器 所有的子元素 索引從第一個(gè)子元素開始 樣式只加在li上

b) demo 有類型限制選擇器 li:nth-of-type(even); li:nth-of-type(odd)
從li的父元素ul中選擇子元素li 以第一個(gè)li為first 索引從1開始

  /*有限制類型從li的父元素的子元中的偶數(shù)*/
<style>        
        li:nth-of-type(even) {
            background-color: orange;
        }
        /*有限制類型從li的父元素的子元中的奇數(shù)*/
        
        li:nth-of-type(odd) {
            background-color: pink;
        }
    </style>
</head>


<body>
    <ul>
        <div>00</div>
        <li>1p h</li>
        <li>2</li>
        <div>11</div>
        <li>3</li>
        <li>4</li>
        <div>22</div>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8 sb</li>
        <li>9</li>
    </ul>
</body>
有限制類型選擇器 所有的子元素 索引從li開始數(shù) 從1開始

1.3 其他無限制類型選擇器(上面demo有舉例)
E:nth-last-child(n): 同 E:nth-child(n) 相似,只是倒著計(jì)算
E:nth-child(even) 所有的偶數(shù)
E:nth-child(odd) 所有的奇數(shù)


3 為前五個(gè)后五個(gè)添加樣式

n:默認(rèn)取值范圍為0~子元素的長度.但是當(dāng)n<=0時(shí)菜职,選取無效

  • li:nth-last-of-type(-n+4) 后四個(gè)
  • li:nth-of-type(-n+4) 頭四個(gè)
<style>
/*后4個(gè)*/
li:nth-last-of-type(-n+4) {
            font-size: 10px;
        }
        /*頭五個(gè)12345*/
        
        li:nth-of-type(-n+5) {
            font-size: 30px;
        }
        /*空值:沒有任何的內(nèi)容青抛,連空格都沒有*/
        
        li:empty {
            background-color: red;
        }
 </style>
</head>
<body>
    <ul>
        <div>00</div>
        <li>1p h</li>
        <li>2</li>
        <div>11</div>
        <li>3</li>
        <li>4</li>
        <div>22</div>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8 sb</li>
        <li>9</li>
    </ul>
</body>
頭5個(gè)后4個(gè)
  • demo 錨點(diǎn) E:target 結(jié)合錨點(diǎn)進(jìn)行使用,處于當(dāng)前錨點(diǎn)的元素會(huì)被選中
li:target {
            background-color: yellow;
        }
image.png
image.png

4 總結(jié) 選擇器

b) 以某元素相對(duì)于其父元素或兄弟元素的位置來獲取無素的結(jié)構(gòu)偽類
f) E:first-child:查找E這個(gè)元素的父元素的第一個(gè)子元素
g) E:last-child:最后一個(gè)子元素
h) E:nth-child(n): 第n個(gè)子元素酬核,計(jì)算方法是E元素的全部兄弟元素
i) E:nth-last-child(n): 同E:nth-child(n) 相似脂凶,只是倒著計(jì)算
j) E:nth-child(even): 所有的偶數(shù)
k) E:nth-child(odd): 所有的奇數(shù)
l) E:nth-of-type(n):指定類型
m) E:empty 選中沒有任何子節(jié)點(diǎn)的E元素,注意愁茁,空格也算子元素
n) E:target 結(jié)合錨點(diǎn)進(jìn)行使用蚕钦,處于當(dāng)前錨點(diǎn)的元素會(huì)被選中
o) 重點(diǎn)說明:n遵循線性變化,其取值0鹅很、1嘶居、2、3促煮、4邮屁、... 但是當(dāng)n<=0時(shí),選取無效

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末菠齿,一起剝皮案震驚了整個(gè)濱河市佑吝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绳匀,老刑警劉巖芋忿,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炸客,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡戈钢,警方通過查閱死者的電腦和手機(jī)痹仙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殉了,“玉大人开仰,你說我怎么就攤上這事⌒酵” “怎么了众弓?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長隔箍。 經(jīng)常有香客問我谓娃,道長,這世上最難降的妖魔是什么鞍恢? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任傻粘,我火速辦了婚禮每窖,結(jié)果婚禮上帮掉,老公的妹妹穿的比我還像新娘。我一直安慰自己窒典,他們只是感情好蟆炊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瀑志,像睡著了一般涩搓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上劈猪,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天昧甘,我揣著相機(jī)與錄音,去河邊找鬼战得。 笑死充边,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的常侦。 我是一名探鬼主播浇冰,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼聋亡!你這毒婦竟也來了肘习?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤坡倔,失蹤者是張志新(化名)和其女友劉穎漂佩,沒想到半個(gè)月后脖含,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仅仆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年器赞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墓拜。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡港柜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咳榜,到底是詐尸還是另有隱情夏醉,我是刑警寧澤微驶,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布抡笼,位于F島的核電站,受9級(jí)特大地震影響捍掺,放射性物質(zhì)發(fā)生泄漏臣樱。R本人自食惡果不足惜靶擦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望雇毫。 院中可真熱鬧玄捕,春花似錦、人聲如沸棚放。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽飘蚯。三九已至馍迄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間局骤,已是汗流浹背攀圈。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留峦甩,地道東北人赘来。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像穴店,于是被迫代替她去往敵國和親撕捍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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

  • 選擇器 元素選擇符 關(guān)系選擇符 屬性選擇符 偽類選擇符 偽對(duì)象選擇符 一泣洞、元素選擇符 通配選擇符 (*):選擇所有...
    云外之境閱讀 1,860評(píng)論 0 0
  • 1.class 和 id 的使用場(chǎng)景? 兩者都能選取DOM節(jié)點(diǎn)并給DOM節(jié)點(diǎn)添加樣式忧风,但是W3C標(biāo)準(zhǔn)里規(guī)定頁面中只...
    饑人谷_米彌輪閱讀 393評(píng)論 0 1
  • 一、CSS選擇器常見的有幾種? 基本選擇器 通配選擇器~選擇文檔中所有的html元素球凰,用一個(gè)*表示 元素選擇器~選...
    dengpan閱讀 962評(píng)論 0 3
  • id與class的使用場(chǎng)景 id選擇器狮腿,匹配特定id的元素類選擇器腿宰,匹配class包含(不是等于)特定類的元素id...
    姚小帥閱讀 320評(píng)論 0 0
  • 1.class 和 id 的使用場(chǎng)景? class用于定位某一類元素,頁面某一元素有共同特征的可以用class元素...
    阿潔2185閱讀 383評(píng)論 0 0