ディセンダント・セレクタ(descendant selector)
アセンブラの魔女 ⧫ CSS ⧫ セレクタ ⧫ セレクタの種類 ⧫ ディセンダント・セレクタ
アセンブラの魔女 ⧫ CSS ⧫ セレクタ ⧫ セレクタの種類 ⧫ ディセンダント・セレクタ

 ディセンダント・セレクタ(descendant selector)は、ある要素E の子孫にあたる特定の要素 F をスタイルの適用領域を指定するセレクタです。要素 E にはスタイルは適用されません。

E  F

 次のCSSコードは、div要素の子孫にpre要素が見つかればスタイルを適用します。

body 	{color:black;}
div pre	{color:blue;}
CSSコード例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 5 Transitional//EN">
<html lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CSSのセレクタの使用例</title>
<meta name="description" content="CSSのセレクタの使用例です" />
<meta http-equiv="Content-Style-type" content="text/css">
<link rel="stylesheet" href="descendant_selector_sample.css" type="text/css">
</head>
<body>

<div>
	<pre>
body/div/pre ①div要素の子孫のpre要素にスタイルが適用される
		<span>body/div/pre/span</span>
		<table><tbody><tr><td>body/div/pre/table</td></tr></tbody></table>
	</pre>
</div>

<span>
	<pre>
		<span>body/span/pre/span ②div要素の子孫でなければpre要素にスタイルは適用されない</span>
		<div>
			<span>
				<pre>
				body/span/pre/div/span/pre<br> ③div要素の直下がpre要素でない場合でもその子孫にpre要素があればスタイルを適用
				</pre>
			</span>
		</div>
	</pre>
</span>


</body>
</html>
HTML表示

 スタイルの適用範囲として孫要素を指定することもできます。

E  *  F

 上記の書式では、要素 E の孫である 要素 F にスタイルを適用します。

 次のCSSコードは、div要素の孫要素のpre要素にスタイルを適用します(divの直下のpre要素には適用されません)。

body 		{color:black;}
div * pre	{color:blue;}
CSSコード例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 5 Transitional//EN">
<html lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CSSのセレクタの使用例</title>
<meta name="description" content="CSSのセレクタの使用例です" />
<meta http-equiv="Content-Style-type" content="text/css">
<link rel="stylesheet" href="descendant_selector_sample2.css" type="text/css">
</head>
<body>
<div>
	<pre>
body/div/pre ①div要素の直下のpre要素にはスタイルは適用されない
		<pre>
body/div/pre/pre ②div要素の孫のpre要素とその子孫にスタイルが適用される
			<span>body/div/pre/span</span>
			<table><tbody><tr><td>body/div/pre/table</td></tr></tbody></table>
		</pre>
	</pre>
</div>
</body>
</html>
HTML表示

 ディセンダント・セレクタを属性セレクタと組み合わせて使うこともできます。

E  F  *[att]

 このセレクタは、要素 E の子孫、要素 F 内のattの属性を持つ要素にスタイルを適用します。

 次のCSSコードは、div要素の子孫のpre要素内でhref属性を持つ要素にスタイルを適用します。

body 			{color:black;}
div pre *[href]	{font-size:20px;}
CSSコード例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 5 Transitional//EN">
<html lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CSSのセレクタの使用例</title>
<meta name="description" content="CSSのセレクタの使用例です" />
<meta http-equiv="Content-Style-type" content="text/css">
<link rel="stylesheet" href="descendant_selector_sample3.css" type="text/css">
</head>
<body>
<a href="https://books-nekoya.jp/" target="_blank">body</a>
<div>
<a href="https://books-nekoya.jp/" target="_blank">body/div</a>
	<pre>
div要素の子孫のpre要素内のhref属性を持つ要素にスタイルを適用
<a href="https://books-nekoya.jp/" target="_blank">body/div/pre</a>
		<span><a href="https://books-nekoya.jp/" target="_blank">body/div/pre/span</a></span>
	</pre>
</div>
</body>
</html>
HTML表示
▼ Property
記事情報
datePublished2011-01-01
dateModified2018-06-22
authorアセンブラの魔女
headlineディセンダント(子孫)セレクタ(descendant selector)に関する記事です
keywordsCSS
keywordsCascading Style Sheets
keywordsセレクタ
keywordsselector
keywords孫要素
keywordsdescendant selector
publisher name= wiredFish, logo.name= wiredFish, logo.url= https://books-nekoya.jp/Programming/chigu-hagu-title-01.png size= 208 pixel x 50 pixel
image.url url= https://books-nekoya.jp/Programming/chigu-hagu-title-01.png , size= 208 pixel x 50 pixel