所有父母都有兄弟姐妹

时间:2015-03-25 18:10:33

标签: css css-selectors

如果父母有某个兄弟姐妹,我有css以父母的孩子为目标;

.sibling + .parent > [class^='child'] { style }

NAV

-sibling
-parent
    -child1           <-- styled
    -child1           <-- styled
         -child2      <-- not styled

这对第一级的所有孩子都很有效,但我也想针对所有的孙子孙女,伟大的孩子等等。

我不想使用

.sibling + .parent > [class^='child'],
.sibling + .parent > [class^='child'] > [class^='child'],
.sibling + .parent > [class^='child'] > [class^='child'] > [class^='child'] { 
    style 
}

因为这仍然只限制了几个级别。如何将其更改为无限制?

2 个答案:

答案 0 :(得分:1)

这是后代组合子的用途 - 它不管嵌套级别如何都以后代为目标:

.sibling + .parent [class^='child']

(正是由于这个原因,&#34;孩子&#34;对于你所定位的元素来说名字很差,但我会假设它只是为了说明。)

答案 1 :(得分:0)

指定要定位其余子div的元素div

.parent + .sibling > [class^='child'] div { style }

或使用星号*定位所有子元素,无论其标记如何。

.parent + .sibling > [class^='child'] * { style }