You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS伪类选择器:not(:disabled,:read-only)对div hover不生效原因咨询

问题原因解析

核心原因是浏览器对:read-only伪类的匹配规则存在差异:

  • 对于input这类表单控件,只有显式设置readonly属性时,才会被:read-only伪类匹配;
  • 像div这类非表单元素,默认会被浏览器判定为:read-only状态——因为它们本身不支持用户编辑(除非给元素添加contenteditable="true"属性)。

你的CSS选择器.input:not(:disabled, :read-only):hover中,div元素会被:read-only命中,因此被:not()排除在外,hover时自然不会触发蓝色文字样式。而当你移除:read-only伪类后,选择器变为.input:not(:disabled):hover,div不匹配:disabled(非表单元素不支持disabled属性),所以hover样式就能正常生效了。

如果想验证这个逻辑,你可以给div添加contenteditable="true"属性,此时div不再被:read-only匹配,原选择器的hover效果就会对div生效。

内容的提问来源于stack exchange,提问作者korteee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:14:55