css 中后代选择器和子选择器的一点疑惑?

为什么第二个div我加了类,但是仍然把第二个div里面的第二个a给改了颜色呢?... 为什么第二个div我加了类,但是仍然把第二个div里面的第二个a给改了颜色呢? 展开
 我来答
比特公子爱咖啡
2020-02-29 · 我爱Java,不只是因为一杯咖啡。
比特公子爱咖啡
采纳数:16 获赞数:36

向TA提问 私信TA
展开全部

CSS 后代选择器和CSS 子元素选择器都属于派生选择器的范畴,它们是通过依据元素在其位置的上下文关系来定义样式,可以使标记更加简洁。

其中,CSS 后代选择器(descendant selector)又称为包含选择器,用于选择作为某元素后代的元素。代码中选择器"div a"指的是页面中<div>元素下的所有<a>元素,在没有给第二个<div>应用选择器"niubi"之前,页面上所有的<a>元素都应该显示棕色。如图:

没有给第二个div应用样式

CSS子元素选择器用于选择指定元素的第一代子元素。代码中".niubi>a"会选取设置了"class=niubi"样式的元素的直接子元素<a>,所以第一个<a>元素的颜色发生了变化。而<p>元素中包含的<a>并不是设置了"class=niubi"样式的<div>元素的直接子元素,所以颜色不会发生变化。如图:

第二个div应用样式niubi


后代选择器和子元素选择器的区别:

子元素选择器(child selector)通过“>”进行选择,仅是指它的直接后代(子元素的第一代后代),而后代选择器是通过空格来进行选择,作用于所有子后代元素。

中智咨询
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。... 点击进入详情页
本回答由中智咨询提供
知识阅历积累历程

2020-02-29 · 影视爱好者、游戏达人、IT 男
知识阅历积累历程
采纳数:10964 获赞数:6547

向TA提问 私信TA
展开全部
原因就是被.niubi>a{color:chartreuse;}给重写(覆盖)了,css是从上到下编译的。下面的权重要高于上面的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兴从桖0fB
2020-02-29 · TA获得超过545个赞
知道小有建树答主
回答量:1039
采纳率:73%
帮助的人:146万
展开全部
第二个div你虽然加了类,但它还是div,
所以你第一个样式“div a”对有类的div依然有作用的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网海1书生
科技发烧友

2020-02-29 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26231

向TA提问 私信TA
展开全部
没毛病啊!
首先,所有div内的a(共4个)都设为红色(这个跟有没有加类是没关系的);
然后,紧接着类niubi的a被设为绿色
结果没错啊?!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式