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

关于子选择器

如果说对于嵌套的标签,不管是<span>还是<li>,子选择器只对第一代起作用,那为什么例子中嵌套在<span>内的第二个<span>被添加了修饰?而<li>嵌套内部的<li>没有被修饰?

请问慕课,子选择器这个知识点不应该详细讲解吗?就这么三两句话就结束了,看的云里雾里的!

正在回答

6 回答

个人认为只要是指定下的元素,都会作用

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

https://img1.sycdn.imooc.com//5b458f700001cd2f10160643.jpg

https://img1.sycdn.imooc.com//5b458f71000106f309380606.jpg

https://img1.sycdn.imooc.com//5b458fa20001e01b05900253.jpg

https://img1.sycdn.imooc.com//5b458fb60001c9c010180568.jpg

https://img1.sycdn.imooc.com//5b458fc50001b08c05940265.jpg

问题:

1、如果说子选择器只作用于第一代,那嵌套的<span>里的2和3为什么被修饰为红色?难道它们都是第一代?

2、为什么使用set_3后,只有两个外面的红色框,里面的却又没有框?而使用set_2时ABCD都被修饰成了绿色。

3、到底怎么区分子代元素和孙代元素?难道不是嵌套的最外层元素是子代,里一层是孙代,以此类推吗?

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

四夕云遗

这个其实很好理解,嵌套的<span>里 的2和3以及嵌套的<li>里的ABCD修饰为红色和绿色是因为它们是属于第一代<span>和<li>的,这个红色和绿色只是作用于第一个<span></span>和第一个<li></li>里的元素,那个框框的样式就说明了这一点 但是你理解错了,它是把01,A,B这3个元素以及02,C,D这3个元素框在了一起,照你的理解应该是只有01和02分别被框住了
2018-07-11 回复 有任何疑惑可以回复我~
#2

四夕云遗

如果觉得有用就采纳一下咯
2018-07-11 回复 有任何疑惑可以回复我~

能说明白一点吗?做个假设,如果把大的div比作爷爷,第一代也就是儿子,嵌套在儿子里面的就是孙子,子选择器作用于儿子,后代选择器作用于儿子与孙子相同的元素标签,至于你说的嵌套在span标签里面的span标签发生改变可能是'继承'的问题(一般不会发生,继承的权重为0);

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

<span>里的那句话是一个整体 就像<li>里面包含了<ul>里面还有<li> 但它只是框了外面那一整个<li> 里面<li>的没有再框出来 同样的<span>里的<span>也没有在里面框出来

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

子选择器是为了给子元素添加样式,而避免给孙子,曾孙子。。。添加样式

ul li { color:red; border:1px solid blue}    // li里的文字会是红色,span里的文字也是红色的,你其实设置给li的,本来应该li是红色,span不变对吧?但是字体颜色会有一个继承的作用,像边框这类就不会被继承,所以span没有边框

<ul>

    <li>子元素<span>孙元素</span></li>

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

第二个<span>没有被修饰啊   只是第二个<span>被包含在第一个之内 如果第二个被修饰的话应该是在”胆小如鼠“再加一个边框

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

举报

0/150
提交
取消
初识HTML(5)+CSS(3)-升级版
  • 参与学习       1225309    人
  • 解答问题       18230    个

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

进入课程

关于子选择器

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