:only-child和:only-of-type選擇器的比較


:only-child

當元素是唯一的子元素,被選擇。

HTML代碼:

<body>
<div class="x">
<div>第一個DIV</div>
<div>第一個DIV</div>
<p>第一個P</p>
</div>
</body>

效果圖:

 

CSS代碼:

<style>
div:only-child{
    background-color:red;
}
</style>

因為div是body元素的唯一子元素,所以整個DIV都會變紅。

演示圖:

 

 

CSS代碼:

<style>
p:only-child{
    background-color:red;
}
</style>

因為P元素不是div元素的唯一元素,所以P的背景顏色不會變紅。

演示圖:

 

 

 :only-of-type

選擇特定的,唯一類型的子元素。

HTML代碼:

<body>
<div id="main" class="x">
<div id="a">第一個DIV</div>
<div id="b">第一個DIV</div>
<p>第一個P</p>
</div>
</body>

 

CSS代碼:

<style>
div:only-of-type{
    background-color:red;
}
</style>

此時選擇的div,是id為main的div,它是元素body的唯一類型(div)的元素,所以整個div會變紅。

演示圖:

 

而當把CSS代碼修改成下面的代碼,結果就會不同。

CSS代碼:

<style>
.x div:only-of-type{
    background-color:red;
}
</style>

此時選擇的div,是id為a和b的div,因為不是唯一,所以背景顏色不會變紅。

演示圖:

 

如果把CSS代碼中的div,改成p后,p的背景顏色會變紅,因為p是div里唯一類型的元素。

CSS代碼:

<style>
p:only-of-type{
    background-color:red;
}
</style>

演示圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM