例如:
div > p.some_class {
/* Some declarations */
}
这个>
标志到底是什么意思?
例如:
div > p.some_class {
/* Some declarations */
}
这个>
标志到底是什么意思?
Answers:
>
是子组合器,有时会误称为直接后代组合器。1个
这意味着选择器div > p.some_class
仅选择直接.some_class
嵌套在内的div
段落,而不选择嵌套在其内的任何段落。
插图:
<div>
<p class="some_class">Some text here</p> <!-- Selected [1] -->
<blockquote>
<p class="some_class">More text here</p> <!-- Not selected [2] -->
</blockquote>
</div>
选择了什么,没有选择什么:
选择
这p.some_class
直接位于内部的div
,因此在这两个元素之间建立了父子关系。
没有选择
这p.some_class
是由包含blockquote
内div
,而不是div
本身。尽管这p.some_class
是的后代div
,但它不是孩子。是孙子
因此,虽然div > p.some_class
不匹配此元素,但div p.some_class
将使用后代组合器。
1 许多人甚至将其称为“直子”或“直子”,但这是完全没有必要的(对我来说是令人讨厌的),因为从定义上来说,子元素始终是直接的,因此它们的含义完全相同。没有所谓的“间接孩子”。
>
(大于号)是CSS组合器。
组合器可以解释选择器之间的关系。
一个CSS选择器可以包含多个简单选择器。在简单的选择器之间,我们可以包含一个组合器。
CSS3中有四种不同的组合器:
注意: <
在CSS选择器中无效。
例如:
<!DOCTYPE html>
<html>
<head>
<style>
div > p {
background-color: yellow;
}
</style>
</head>
<body>
<div>
<p>Paragraph 1 in the div.</p>
<p>Paragraph 2 in the div.</p>
<span><p>Paragraph 3 in the div.</p></span> <!-- not Child but Descendant -->
</div>
<p>Paragraph 4. Not in a div.</p>
<p>Paragraph 5. Not in a div.</p>
</body>
</html>
输出:
.entry-content > * {"code" }
的后跟是.entry-content {"other code" }
什么意思?不能.entry-content > *
涵盖所有的孩子entry-content
吗?
正如其他人提到的,它是一个子选择器。这是适当的链接。
<div>
<p class="some_class">lohrem text (it will be of red color )</p>
<div>
<p class="some_class">lohrem text (it will NOT be of red color)</p>
</div>
<p class="some_class">lohrem text (it will be of red color )</p>
</div>
的CSS
div > p.some_class{
color:red;
}
<p>
与之在一起的所有直接子代.some_class
都会将样式应用于它们。
(子选择器)在css2中引入。div p {}选择div元素之后的所有p个元素,而div> p仅选择子p个元素,而不选择大子,大子,依此类推。
<style>
div p{ color:red } /* match both p*/
div > p{ color:blue } /* match only first p*/
</style>
<div>
<p>para tag, child and decedent of p.</p>
<ul>
<li>
<p>para inside list. </p>
</li>
</ul>
</div>
#something a
会是儿童选择者。