【发布时间】:2021-06-03 04:14:56
【问题描述】:
我想选择 form-radio-label 元素的第一个子元素。 我知道这很有效:
.form {
&-radio-input:checked ~ &-radio-label &-radio-button::after {
opacity: 1;
}
}
但是为什么不能使用&-radio-input:checked ~ &-radio-label &:first-child::after?
HTML:
<div class="form-group">
<div class="form-radio-group">
<input type="radio" class="form-radio-input" id="small" name="size" />
<label for="small" class="form-radio-label">
<span class="form-radio-button"></span>
Small tour group
</label>
</div>
<div class="form-radio-group">
<input type="radio" class="form-radio-input" id="large" name="size" />
<label for="large" class="form-radio-label">
<span class="form-radio-button"></span>
Large tour group
</label>
</div>
</div>
【问题讨论】:
-
我可能错了,但您不会错过选择器
-radio-label吗?&:first-child::after与&-radio-label:first-child::after -
鉴于您的 html 示例,您的表单单选按钮始终是第一个子项 - 您真的需要第一个子项选择器还是您想实现其他目标?但正如 alba 所说,您错过了第一个子选择器的选择器,以便编译为
.form:first-child::after(并且标签内没有第一个子类的表单,这就是它不起作用的原因) - 如果你想要标签中的任何第一个孩子,无论类别如何,删除&所以它只是&-radio-input:checked ~ &-radio-label :first-child::after -
我也尝试过:
&-radio-input:checked ~ &-radio-label:first-child::after { opacity: 1; },但它也不起作用。我只是想了解一些基础知识,这就是我提出问题的原因。无论如何谢谢:)
标签: html css sass css-selectors