
如何在 input 标签内覆盖外部样式
在 html 中, 标签的样式通常通过外部 css 样式表定义。但是,有时候我们需要在 标签内定义样式以覆盖外部样式。
解决方案
不能直接覆盖
立即学习“前端免费学习笔记(深入)”;
不幸的是,我们无法直接在 标签内部覆盖外部样式。这是因为 标签不支持 :after 和 :checked 这样的伪类选择器。
变通方法:判断类名
一种变通方法是通过判断 标签的 class 名称来重新编写外部样式。例如,我们可以这样写:
是否勾选
当选中该复选框时,我们可以使用 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");
}
});











