parent 内 class 的所有 children 与兄弟姐妹
All children of class within parent with sibling
如果 parent 有某个 class 的兄弟姐妹,我有 css 目标 parent 的 child;
.sibling + .parent > [class^='child'] { style }
导航
-sibling
-parent
-child1 <-- styled
-child1 <-- styled
-child2 <-- not styled
这对第一层的所有 children 都很好,但我也想针对所有 grandchildren,曾祖 children 等
我不想用
.sibling + .parent > [class^='child'],
.sibling + .parent > [class^='child'] > [class^='child'],
.sibling + .parent > [class^='child'] > [class^='child'] > [class^='child'] {
style
}
因为这仍然只限制了几个级别。如何将其更改为无限制?
要么指定元素 div
,它将定位其余的子 div:
.parent + .sibling > [class^='child'] div { style }
或使用星号 *
定位所有子元素,而不考虑其标签。
.parent + .sibling > [class^='child'] * { style }
这就是后代组合器的用途——它以后代为目标,而不考虑嵌套级别:
.sibling + .parent [class^='child']
(正是因为这个原因,"child" 对于您定位的元素来说是一个糟糕的名称,但我假设它只是为了说明。)
如果 parent 有某个 class 的兄弟姐妹,我有 css 目标 parent 的 child;
.sibling + .parent > [class^='child'] { style }
导航
-sibling
-parent
-child1 <-- styled
-child1 <-- styled
-child2 <-- not styled
这对第一层的所有 children 都很好,但我也想针对所有 grandchildren,曾祖 children 等
我不想用
.sibling + .parent > [class^='child'],
.sibling + .parent > [class^='child'] > [class^='child'],
.sibling + .parent > [class^='child'] > [class^='child'] > [class^='child'] {
style
}
因为这仍然只限制了几个级别。如何将其更改为无限制?
要么指定元素 div
,它将定位其余的子 div:
.parent + .sibling > [class^='child'] div { style }
或使用星号 *
定位所有子元素,而不考虑其标签。
.parent + .sibling > [class^='child'] * { style }
这就是后代组合器的用途——它以后代为目标,而不考虑嵌套级别:
.sibling + .parent [class^='child']
(正是因为这个原因,"child" 对于您定位的元素来说是一个糟糕的名称,但我假设它只是为了说明。)