我有一个带有外部div(.field
)的字段布局,并且该字段内有标签,输入和按钮。当我聚焦输入字段时,:focus-within
伪选择器会匹配,因此.field__inner
会获得外边界颜色。
当我使用制表符在元素之间循环时,:focus-within
会在我关注输入字段或按钮时匹配。
但是当我单击按钮时,:focus-within
似乎并没有“触发”(尽管它在Chrome中有效)。
我尝试向按钮添加tabindex
属性,但这没有效果。
我在macOS上使用Firefox 63。
.field__inner {
border: 1px solid #000;
}
.field:focus-within .field__inner {
border: 1px solid #f00;
}
<div class="field">
<div class="field__inner">
<label for="password" class="field__label">
Name
</label>
<input type="text" class="field__input" value="">
<button class="field__passwordreveal" type="button">
Click this button!
</button>
</div>
</div>
单击按钮后如何在Firefox中维护:focus-within
?
编辑:添加了动画gif以演示该问题: