CSS ID和类选择器

use*_*312 1 css class css-selectors

这两个CSS选择器意味着什么?

h1#myItemOne h2
{
    background:#0099FF;
    color: #A3F4A3;
}

h1.myItemTwo  h2
{ 
    background:#0099FF;
    color: #A3F4A3;
}
Run Code Online (Sandbox Code Playgroud)

这两个选择器是否有效?

Ed *_*rty 8

第一个匹配h2元素,该元素是具有id的h1元素的后代myItemOne

例:

<h1 id="myItemOne">
    <h2>Me!</h2>
</h2>
Run Code Online (Sandbox Code Playgroud)

第二个匹配h2元素,该元素是具有该类的h1元素的后代 myItemTwo

例:

<h1 class="myItemTwo">
    <h2>Me!</h2>
</h2>
Run Code Online (Sandbox Code Playgroud)

它们都是有效的.主要区别在于id应该是唯一的.班级没有这个要求.

参考:http://www.w3.org/TR/CSS2/selector.html

  • 你说"孩子"的地方我相信你的意思是"后代".h2不需要是任何一个选择器中的直接子节点.如果你想要直接孩子,那么使用像"h1.myItemTwo> h2"这样的东西. (2认同)