为了账号安全,请及时绑定邮箱和手机立即绑定

我还是理解不了这个第一代选择器

.food>li{

border:1px solid red;

}

是水果和蔬菜两个li加了边框,那为什么我在里面加上一条color:blue的话,ul li里面的香蕉白菜等字体颜色都会变成蓝色?

正在回答

4 回答

.food>li{

border:1px solid red;

}  --这个就是选择第一代子元素,但是因为第一代子元素里面还有第二代或者第三代元素,由于继承的原因,他们会继承第一代元素的样式,但是我们可以自己给第二代子元素添加样式,比如

.food > li{
    border: 1px solid red;
    background: blue;
}
.food li ul li{
    background: green;
}

---你会发现22222222的背景是绿色的,11111111是蓝色的

    <ul class="food">
        <li>
            <ul>
                <li>222222222</li>
            </ul>
        </li>
        <li>
            111111111
        </li>
    </ul>
    9999999999999999999999999


4 回复 有任何疑惑可以回复我~
#1

慕仙6215699 提问者

搞明白了,谢谢
2018-09-06 回复 有任何疑惑可以回复我~
#2

qq_地维_0

那为什么红色边框样式没有得到继承?而且如果第二代或第三代都能够自动地继承第一代的样式,那所谓的子代选择器还有何意义?题主那个问题可能跟颜色样式的底层实现有关。
2018-10-15 回复 有任何疑惑可以回复我~
#3

吱吱叫的老鼠 回复 qq_地维_0

红色边框样式被继承了,只不过自己写了蓝色边框,讲红色边框覆盖掉了。可以这样理解,一开始,我都想让li是红色边框,但是后来想了想,发现部分第二代,第三代红色边框不好看,我就可以改成蓝色边框,其他的第二代第三代li的还是红色边框。这样方便样式统一与维护,减少冗余代码
2018-12-16 回复 有任何疑惑可以回复我~

我看了一下课程的文字一样 来找答案 我看看回答能不能让我明白把 哈哈

0 回复 有任何疑惑可以回复我~

你把下一课敲一下就明白了   你加上了颜色是给水果和蔬菜前面的li加上的 这两个li包含了后面的东西 所以字体都变蓝了

0 回复 有任何疑惑可以回复我~

food>li 表示的是作为food下的所以li子元素

0 回复 有任何疑惑可以回复我~
#1

慕仙6215699 提问者

那第一代子元素该怎么理解?实在是没搞懂
2018-09-06 回复 有任何疑惑可以回复我~
#2

慕仙6215699 提问者

这个food>li不是选择第一代子元素吗?
2018-09-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我还是理解不了这个第一代选择器

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信