子元素选择器与后代元素选择器的表现方式为何不同
在本节中用>子元素选择器是正常的,可是如果使用后代元素选择器
<code>.first span{}</code>为什么运行的结果,在三个span中间会有框间隔,子元素选择器就不会有这个问题?
2015-12-31
首先明白下,后代选择器是作用于所有后代(包含子代),子代选择器只作用于第一代。
html结构如下
<p class="first fir">三年级时, <span>我还是一个 <span>胆小如鼠</span>的小女孩 </span>,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。 </p>
.first>span{ border:1px solid red; }
这里只作用于第一个span元素,所以只有第一个span元素有边框。也就是从“我还是一个胆小如鼠的小女孩”是有边框。
而
.first span{ border:1px solid red; }
这里作用于全部span后代,除了子代的span元素,还有“胆小如鼠”这个孙代。所以这里有2个边框,一个是外面span元素的边框,一个是里面span元素的边框。所以看起来就有框间隔。
举报