【发布时间】:2020-06-02 09:26:56
【问题描述】:
<div id="my-field">
<label class="my-label">Label</label>
<input class="my-input" value="input" />
</div>
#my-field{
}
.my-label {
}
.my-input{
}
有什么方法可以在输入焦点集中时自定义 .my-label 的 CSS 而无需触及 HTML?有多种方法可以选择后继兄弟元素。但是有什么方法可以选择前任吗?
注意:项目中有一个限制,这里不能修改HTML。一切都必须在 CSS 中完成。也没有 jQuery/JS。
【问题讨论】:
-
CSS 不能在 DOM 中向上传播,据我所知,在当前 HTML 布局中仅使用 CSS 是不可能的。我能想到的最接近解决方案的方法是隐藏您的标签并使用伪元素创建您自己的虚假自定义标签。
-
不改html就不行,如果能稍微改一下html就可以了。