CSS 組合選擇符

CSS 組合選擇子

組合選擇子說明了兩個選擇器直接的關係。


CSS組合選擇符包含各種簡單選擇符的組合方式。

在CSS3 中包含了四種組合方式:

  • 後位選取器(以空格分隔)

  • 子元素選擇器(以大於號分隔)

  • 相鄰兄弟選擇器(以加號分隔)

  • 普通兄弟選擇器(以破折號分隔)


後代選取器

後位選取器符合所有值得元素的後代元素。

以下實例選取所有p元素插入到div元素中: 

      <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
<style>
div p
{
	background-color:yellow;
}
</style>
</head>
<body>

<div>
<p>段落 1。 在 div 中。</p>
<p>段落 2。 在 div 中。</p>
</div>

<p>段落 3。不在 div 中。</p>
<p>段落 4。不在 div 中。</p>

</body>
</html>

執行程式觀察一下


##子元素選擇器

與後代選擇器相比,子元素選擇器(Child selectors)只能選擇作為某元素子元素的元素。

以下實例選擇了<div>元素中所有直接子元素<p>:

       <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
<style>
div>p
{
	background-color:yellow;
}
</style>
</head>

<body>
<h1>Welcome to My Homepage</h1>
<div>
<h2>My name is Donald</h2>
<p>I live in Duckburg.</p>
</div>

<div>
<span><p>I will not be styled.</p></span>
</div>

<p>My best friend is Mickey.</p>
</body>
</html>

執行程式觀察一下

#相鄰兄弟選擇器############相鄰兄弟選擇器(Adjacent sibling selector)可選擇緊接在另一元素後的元素,且二者有相同父元素。 ######如果需要選擇緊接在另一個元素後的元素,而且二者有相同的父元素,可以使用相鄰兄弟選擇器(Adjacent sibling selector)。 ######以下實例選取了所有位於 <div> 元素後的第一個 <p> 元素:######
  <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
<style>
div+p
{
	background-color:yellow;
}
</style>
</head>
<body>

<h1>Welcome to My Homepage</h1>

<div>
<h2>My name is Donald</h2>
<p>I live in Duckburg.</p>
</div>

<p>My best friend is Mickey.</p>

<p>I will not be styled.</p>

</body>
</html>
###執行程式觀察一下###

普通相鄰兄弟選擇器

普通兄弟選擇器選取所有指定元素的相鄰兄弟元素。

以下實例選取了所有<div> 元素的所有相鄰兄弟元素<p> : 

     <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
<style>
div~p
{
	background-color:yellow;
}
</style>
</head>
<body>

<div>
<p>段落 1。 在 div 中。</p>
<p>段落 2。 在 div 中。</p>
</div>

<p>段落 3。不在 div 中。</p>
<p>段落 4。不在 div 中。</p>

</body>
</html>

執行程式觀察一下



#
繼續學習
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> div p { background-color:yellow; } </style> </head> <body> <div> <p>段落 1。 在 div 中。</p> <p>段落 2。 在 div 中。</p> </div> <p>段落 3。不在 div 中。</p> <p>段落 4。不在 div 中。</p> </body> </html>