在CSS中,您提到的符号是:
>
是子组合子;
+
是相邻兄弟组合子;
~
是一般的兄弟组合子。
它们之间的区别是:
#商店>.购物车{背景颜色:红色;}
<div class=shoppingCart>这不是目标<div id=store><div class=shoppingCart>这将成为目标<div class=shoppingCart>这也将成为目标<div class=内部><div class=shoppingCart>这不是目标</div></div><div class=shoppingCart>这也不是目标<div class=shoppingCart>这也不会
这个>
combinator只选择指定选择器的直接子元素(第一个子元素正下方的元素),因此,在本例中,只选择紧邻其下方的元素#商店
.
#商店+购物车{背景颜色:红色;}
<div class=shoppingCart>这不是目标<div id=store><div class=shoppingCart>这不是目标<div class=shoppingCart>这也不是目标<div class=内部><div class=shoppingCart>这也不是目标</div></div><div class=shoppingCart>这将成为目标<div class=shoppingCart>但这个不是
这个+
combinator选择一个元素,该元素是第一个元素的下一个同级元素(同级元素,即相邻的元素),因此如果存在.购物车
那是一个兄弟姐妹#商店
,它将被选中,但仅当该元素位于第一个元素之后时;不能以这种方式选择上一个同级。
#商店~.购物车{背景颜色:红色;}
<div class=shoppingCart>这不是目标<div id=store><div class=shoppingCart>这不是目标<div class=shoppingCart>这也不是目标<div class=内部><div class=shoppingCart>这也不是目标</div></div><div class=shoppingCart>这将成为目标<div class=shoppingCart>这也是目标
这个~
combinator选择第一个元素的任何后续同级元素,因此如果有.购物车
作为的兄弟姐妹#商店
,它将被选中。