精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網(wǎng)

17站長網(wǎng) 首頁 編程教程 CSS3教程 查看內(nèi)容

only 元素選擇

only-child & only-of-type

在前端開發(fā)頁面的過程中需要對一些特定類型的元素賦予特殊的樣式,通常我們不會在 HTML 標(biāo)簽上一個個去增加 class 去設(shè)置特殊的樣式,這時候通過元素選擇偽類就能解決這類問題。本章主要介紹 only-child 和 only-of-type 這兩個偽類。

1. 官方定義

only-child 匹配屬于父元素中唯一子元素。
only-of-type 匹配屬于父元素的特定類型的唯一子元素。

2. 解釋

only-child 當(dāng)元素添加這個偽類的時候,它在所屬的父元素之內(nèi),有且僅有它自己時偽類生效。

3. 語法

.demo:only-child{
}
.demo:only-of-type{
    
}

說明:通過 : 后面加偽類進(jìn)行元素選擇。

4. 兼容性

IEEdgeFirefoxChromeSafariOperaiosandroid
allallallallallallallall

5. 實例

only-child

1. 當(dāng)頁面中只有一個.demo 標(biāo)簽時候背景變成紅色:

<body>
    <div class="demo">網(wǎng)</div>    
</body>
.demo:only-child{
    color:#fff;
    background: red;
    padding:px;
}

效果圖:

編程之家

一個標(biāo)簽時候背景變成紅色效果圖
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=`, initial-scale=1.0">
    <title>Document</title>
    <style>
    .demo:only-child{
    color:#fff;
    background: red;
    padding:px;
    }
</style>
</head>
<body>
    <body>
	    <div class="demo">網(wǎng)</div>    
	</body>
</body>
</html>

2. 當(dāng)頁面有兩個 demo class 時候不再有任何效果:

<body>
    <div class="demo">網(wǎng)</div>    
     <div class="demo">網(wǎng)</div>    
</body>
.demo:only-child{
    color:#fff;
    background: red;
    padding:px;
}

效果圖:

編程之家

無效果效果圖
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=`, initial-scale=1.0">
    <title>Document</title>
    <style>
        .demo:only-child{
            color:#fff;
            background: red;
            padding:px;
        }
    </style>
</head>
<body>
        <div class="demo">網(wǎng)</div>    
         <div class="demo">網(wǎng)</div>    
</body>
</html>

說明:body 下面有兩個 demo 不是唯一子元素,這時候偽類就不再起作用。

注意:當(dāng) demo 元素內(nèi)部包含 demo 元素還是起作用的,因為 body 下面的子元素只有 1 個。

<body>
	<div class="demo"> 網(wǎng) 
	    <div class="demo"> 網(wǎng)  </div>
	    <div class="demo"> 網(wǎng)  </div> 
	</div>
</body>

效果圖:

編程之家

一個元素效果圖
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=`, initial-scale=1.0">
    <title>Document</title>
    <style>
        .demo:only-child{
            color:#fff;
            background: red;
            padding:px;
        }
    </style>
</head>
<body>
      <div class="demo"> 網(wǎng) 
          <div class="demo"> 網(wǎng)  </div>
          <div class="demo"> 網(wǎng)  </div> 
      </div>
</body>
</html>

如果我們希望在 demo 內(nèi)部只有一個 demo 時候 ,內(nèi)部的 demo 變成紅色怎么做呢?

<div class="demo"> 網(wǎng) 
    <div class="demo"> 網(wǎng)  </div>
</div>
.demo>.demo:only-child{
    color:#fff;
    background: red;
    padding:px;
}

效果圖:

編程之家

demo 內(nèi)部只有 一個 demo 時候 內(nèi)部的 demo 變成紅色效果圖
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=`, initial-scale=1.0">
    <title>Document</title>
    <style>
     .demo>.demo:only-child{
        color:#fff;
        background: red;
        padding:px;
    }
    </style>
</head>
<body>
    <body>
        <div class="demo"> 網(wǎng) 
            <div class="demo"> 網(wǎng)  </div>           
        </div>
    </body>
</body>
</html>

only-of-type

1. 給類名為 demo 的元素增加紅色背景

<body>
    <div class="demo"> 網(wǎng) </div>   
</body>
 .demo:only-of-type{
    color:#fff;
    background: red;
    padding:px;
}

效果圖:

編程之家

demo 變紅效果圖
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=`, initial-scale=1.0">
    <title>Document</title>
    <style>
    .demo:only-of-type{
        color:#fff;
        background: red;
        padding:px;
    }
    </style>
</head>
<body>
    <div class="demo"> 網(wǎng) </div>
</body>
</html>

說明:這里發(fā)現(xiàn)它和 only-child 的功能類似,但其實是不一樣的我們看下面這個例子:

<body>
    <div class="demo"> 網(wǎng) </div>
    <p class="demo"> 網(wǎng)  </p>
</body>
 .demo:only-of-type{
    color:#fff;
    background: red;
    padding:px;
}

效果圖:

編程之家

變紅效果圖
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=`, initial-scale=1.0">
    <title>Document</title>
    <style>
    .demo:only-of-type{
        color:#fff;
        background: red;
        padding:px;
    }
    </style>
</head>
<body>
    <div class="demo"> 網(wǎng) </div>
    <p class="demo"> 網(wǎng)  </p>
</body>
</html>

解釋:我們發(fā)現(xiàn)同樣都變紅了。這是因為 兩個 demo 并不是唯一的。因為其中一個是 div 而另一個是 p,這時候 only-child 是不能分辨的,這也是它們的區(qū)別。

6. Tips

這兩個偽類功能很類似,我們不容易區(qū)分但是這里有個小技巧 :only-child 就像 JS 中的 id 一樣,只能是唯一的。

返回頂部
主站蜘蛛池模板: 国产丝袜按摩女技师在线 | 国产呦精品系列在线 | 亚洲欧美日韩精品永久在线 | 精品国产免费人成在线观看 | 亚洲 欧美 另类 综合 日韩 | 欧美一级毛片片免费 | 国产精品中文字幕在线观看 | 1000部啪啪未满十八勿入中国 | julia一区二区三区中文字幕 | 二区三区视频 | 国产成人啪精品午夜在线观看 | 国产精品一区二区不卡 | 91啪在线观看国产在线 | 久久草草 | 美国一级黄色 | 另类二区| 免费国产草莓视频在线观看黄 | 亚洲精品日本一区二区在线 | 国产原创在线观看 | 成人国产欧美精品一区二区 | 欧美日韩三区 | 欧美呦女 | 99pao在线视频成精品 | 91精品福利在线观看 | 一级欧美一级日韩片 | 一级毛片美国aaj毛片 | 黄色一级免费片 | 色优久久| 国产牛仔裤系列在线观看 | 欧美一区二区三区综合色视频 | 久久91精品国产91久久户 | 伊人久久影院 | 亚洲欧美日韩中文字幕一区二区三区 | 操亚洲女人| 国内自拍网红在线综合 | 51国产午夜精品免费视频 | 亚洲欧美激情综合首页 | 中文字幕一区二区区免 | 看草逼 | 国产又粗又黄又湿又大 | 亚洲婷婷综合网 |