日期:2014-05-17  浏览次数:20515 次

关于子元素选择器的一个问题
本帖最后由 xyz121323693 于 2013-01-18 09:33:28 编辑
若是您欲望选择只作为 h1 元素子元素的 strong 元素,可以如许写:


 

h1 > strong {color:red;}
 

这个规矩会把第一个 h1 下面的 strong 元素变为红色,然则第二个 strong 不受影响:


 

<h1>This is <strong>very</strong> important.</h1>

<h1>This is <em>really <strong>very</strong></em> important.</h1>



想问一下,怎么第二个就不受影响?

------解决方案--------------------

什么问题?只能猜测了 
这个是 h1 > strong {color:red;}
子代选择器,意识是  只有h1 的 直接子元素 strong  才有效果。
如果 strong里  还包含 strong的话 ,那么 对内层的 strong是不起作用的
------解决方案--------------------
如果 想 对h1 下的所有 strong 有效果,就用 后代选择器,h1 strong{color:red;}
------解决方案--------------------
要区分  子选择器(>) 跟  后代选择器 (空格) 的区别.
你说的问题原因是:外面嵌套了一个 元素节点<em>,子代选择器 是 选得直接后代,不能被其他元素节点包围的 ,不如就不叫子选择器了。