跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

CSS如何改变网页高亮选择区的背景_通过::selection伪元素修改background-color

Chrome中::selection背景色不生效是因为需同时设置color和background-color,禁用带opacity的半透色;Safari仅支持纯色,不支持渐变或filter;该伪元素不作用于input/textarea及Shadow DOM内容,移动端存在延迟或闪烁问题。 Chrome里::selection背景色不生效?检查是否漏了color或opacity Chrome(含Edge)对
::selection
的渲染有隐式限制:如果只设
background-color
但没配
color
,或者用了带
opacity
的半透色,高亮可能完全不可见或颜色异常。这不是bug,是渲染引擎对文本可读性的强制干预。 必须同时设置
color
和
background-color
,哪怕只是继承默认值(如
color: inherit
) 避免用
rgba(0,0,0,0.5)
这类带透明度的背景色——Chrome会直接忽略它 若想实现“淡入”效果,改用
background-color: #ff6b6b
+
transition
配合 JS 触发状态切换,而不是靠 opacity Safari不支持::selection里的渐变或filter Safari(包括iOS WebKit)只接受纯色
background-color
和
color
,任何
linear-gradient
、
radial-gradient
或
filter: blur()
都会被静默丢弃,且不报错。 写法上别浪费时间试
background: linear-gradient(...)
—— 它在 Safari 里等同于没写 如果设计稿要求高亮区有微妙阴影,只能退回到深浅两档纯色方案,比如浅灰背景配深灰文字,深色模式下反过来 可用
@supports (selector(::selection))
做基础检测,但无法细分到“是否支持渐变”,所以得靠 UA 判断或降级处理 ::selection作用域有限:不能跨元素继承,也不影响input/textarea
::selection
只作用于普通文本流中的选中内容,对表单控件、SVG文本、Shadow DOM 内容完全无效。尤其容易误以为能改
里的高亮色,其实不行。 使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件 如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Andr​​oid友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Andr​​oid应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更 下载
和