我正在尝试在 dom 元素上设置 cursor:pointer,但输入没有接受它(当我将鼠标悬停在复选框上时,我没有看到指针光标)。在 chrome 中,我看到“用户代理样式表”正在覆盖我的 css。什么?
<!doctype html>
<body>
<div class='a'>
<input type='checkbox'>
</div>
<style>
.a {
cursor: pointer;
}
</style>
</body>
我见过这个问题: 为什么用户代理样式表会覆盖我的样式? 但我的问题似乎不是 doctype,这是 推荐的 doctype 。
在这里使用 !important
是不可接受的,也不能直接设置输入节点的样式 - 我不必担心奇怪的浏览器用户代理样式。这是怎么回事?
为了澄清,我的问题是关于为什么用户代理样式表 会 覆盖 css 以及如何让它停止。我的问题 不是 我如何破解这种行为。如果我没记错的话,css的正确行为是光标样式应该被子节点继承。
这是css的预期行为吗?
原文由 B T 发布,翻译遵循 CC BY-SA 4.0 许可协议
这里的“问题”是作者样式表中实际上没有
input
样式(有关更多信息,请参阅 规范),因此使用了用户代理样式表 中 定义的样式。(相关)用户代理规则(在 chrome 上)是:
您可以通过以下几种方式实现您想要的:
对于 (1):
对于 (2):