.food>li中的第一代子元素,为什么第二个li也是选中的?
因为两个都是它的并列子元素,如果子标签里还有li的子标签,那就不会被选中了
因为他们两个都属于第一代
<ul class="food"> <li>水果 <ul> <li>香蕉</li> <li>苹果</li> <li>梨</li> </ul> </li> <li>蔬菜 <ul> <li>白菜</li> <li>油菜</li> <li>卷心菜</li> </ul> </li> </ul>
这里水果和蔬菜是第一代。
因为第二个li,也是属于第一代。即 class="food"下面,第一代的li。
上述代码可以理解为:
分类为:“食物”的列表如下
一级分类
水果
蔬菜
水果又可以分为:香蕉苹果等(这属于第二级分类。)
第一代子元素可以用族谱来理解:假设你的爷爷有4个儿子并且你的父亲最大,也就是你有3个叔叔。对于你爷爷来说的第一代就包含4个儿子,不仅仅只有你的父亲。画个树形图就好理解了
<ul class="food">
<li>水果
<ul>
<li>香蕉</li>
<li>苹果</li>
<li>梨</li>
</ul>
</li>
<li>蔬菜
<ul>
<li>白菜</li>
<li>油菜</li>
<li>卷心菜</li>
</ul>
</li>
</ul>
水果和蔬菜都是第一代子元素 就好像是兄弟 .
香蕉苹果梨 是水果的第一代子元素
因为水果和蔬菜都是food后面的一个层级,可以理解成同样是food的儿子