问答详情
源自:8-6 捡了一个儿子 - 子选择器

既然是子选择器,而且作用的就是直接的下一级,为什么还要声明下一级的标签

这个设计也比较奇怪,既然指定的是下一级,为什么还要在声明的时候指定下一级的标签呢,这不是多此一举么 

试下了下一级如果不是指定的标签的话(我在套了一层标签,但是不是CSS中指定的),再下一级是声明中的是不起作用的,也就是说限制了只能是下一级,且需要同时声明的标签

.food>li{border:1px solid red;}

http://img.mukewang.com/584a68c0000190fe12550425.jpg

我在第一个span之前在了一层<q></q>,可以看到这个时候这个子选择器就失效了,因为子选择器的作用范围就是父类下面的第一个子元素,看起来是要满足两个两个条件,一个是第一个子元素,一个是子标签,实际上只需要满足父类的第一个子元素就可以了,因为你只能作用在第一个子标签上啊,这个时候写不写这个标签,有意义么

如果他的功能是父类的第一个满足声明标签的,那这样写是恰当的,但是它的目的仅仅是第一个子元素

有人会写一个只能满足第一个子元素的子选择器,然后第一个子元素却不是目标的?

这声明的时候的几个字母,我就觉得是多余的

提问者:未卜先知 2016-12-06 19:30

个回答

  • 宝慕林7673196
    2016-12-09 15:07:11

    http://img.mukewang.com/584a57af00019f6511680573.jpg

    子选择器只对第一代,<p>如果是爹,那他的第一代就是最外层的<span>,只要是外层的,后面再来几个都是第一代,只不过是兄弟几个有大小,没代际差别。

  • 未卜先知
    2016-12-06 20:04:51

    这么多人回复,我就统一在这里问了,以文中的例子为例

    所谓的指定标签是哪一个?

    是不是<ul>

  • 慕粉2024034558
    2016-12-06 19:47:32


    子选择器仅作用于元素第一个后代

  • 慕沐0441247
    2016-12-06 19:43:52

    >选择指定标签元素的第一代子元素,就是说对<li>水果<li/>起作用,对水果里面的li标签不起作用,水果里面的li标签是第二代子元素。因为指定下一级的标签有可能包含的还有下下级标签

  • 慕运维6819044
    2016-12-06 19:43:47

    子选择器仅指他的直接后代,即子元素的第一代后代。

  • 慕粉1754499240
    2016-12-06 19:43:02

    秦始皇那么多个儿子谁知道你说哪个