如何覆盖 HTML 中 `` 标签的外部样式?
如何在 input 标签内覆盖外部样式
在 html 中, 标签的样式通常通过外部 css 样式表定义。但是,有时候我们需要在 标签内定义样式以覆盖外部样式。
解决方案
不能直接覆盖
不幸的是,我们无法直接在 标签内部覆盖外部样式。这是因为 标签不支持 :after 和 :checked 这样的伪类选择器。
变通方法:判断类名
一种变通方法是通过判断 标签的 class 名称来重新编写外部样式。例如,我们可以这样写:
<input class="mgc" type="checkbox"><span style="color: red">是否勾选</span> <style> .mgc-checked { /* 重写的样式 */ } </style>
当选中该复选框时,我们可以使用 javascript 添加 mgc-checked 类名,从而触发相应的 css 样式:
document.querySelector("input.mgc").addEventListener("change", (e) => { if (e.target.checked) { e.target.classList.add("mgc-checked"); } else { e.target.classList.remove("mgc-checked"); } });
以上就是如何覆盖 HTML 中 `` 标签的外部样式?的详细内容,更多请关注其它相关文章!