什么是这两个样式规则之间的区别? [重复](What is the difference bet

2019-07-31 14:29发布

可能重复:
CSS儿童VS后代选择

那么,有什么区别吗?

div a {
  /* Styles here */
}

div > a {
  /* Styles here */
}

我真的不明白。

Answer 1:

space是后代组合子 ,而>是子组合子 。 儿童是指直系后代, 后代的父元素,子树是指一个节点的地方,不管有多深。



Answer 2:

把它放在普通的话:

div a {/*properties*/} 

这将选择和给定样式应用到所有的“a”元素的“格”。


该“>”符号是“儿童Combinator的”:

div > a {/*properties*/}

这将选择直接孩子的DIV中“A”的标签。

例如:
CSS:

div > a {color: red}

HTML:

<div>
    <a href="#">Link One</a>
    <span>
        <a href="#">Link Two</a>
        <a href="#">Link Three</a>
    </span>
    <a href="#">Link Four</a>
</div>

在这里,红色将仅适用于“链接一个”和“链接四”。 “链接两个”和“链接三个”没有被选择,因为它们是嵌套在“跨度”元素内。


玩弄他们: http://dabblet.com/gist/3730661

你可以阅读更多关于CSS选择在这里: http://css-tricks.com/child-and-sibling-selectors/



文章来源: What is the difference between these two style rules? [duplicate]