少多个直系子节点

cns*_*enj 0 siblings less

预期的 CSS:

.parent > .type1 {
    color: red;
}
.parent > .type2 {
    color: red;
}
.parent > .type3 {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

原来的少:

.parent {
    & > .type1, & > .type2, & > .type3 {
        color: red;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何组合type1/type2/type3?这不起作用,因为 type2/type3 将被编译为后代,而不是直接子代:

.parent {
    & > .type1, .type2, .type3 {
        color: red;
    }
}
Run Code Online (Sandbox Code Playgroud)

zzz*_*Bov 5

少, &将替换为整个包装选择器。

这意味着

.parent {
  & > .type1, .type2, .type3 {...}
}
Run Code Online (Sandbox Code Playgroud)

变成

.parent > .type1, .type2, .type3 {...}
Run Code Online (Sandbox Code Playgroud)

当你想让你的代码更简洁时,你应该注意>组合器不是可选的,而是&变得多余的。编写此选择器的适当方法是:

.parent {
  > .type1,
  > .type2,
  > .type3 {...}
}
Run Code Online (Sandbox Code Playgroud)

反过来产生'

.parent > .type1,
.parent > .type2,
.parent > .type3 {...}
Run Code Online (Sandbox Code Playgroud)