通过::selection伪元素可自定义文本选中样式,支持color和background-color等属性,如设置白色文字蓝色背景;需注意兼容性可添加::-moz-selection前缀,且仅限特定CSS属性使用,避免影响可读性。

在网页中,当用户选中文本时,默认的选中样式通常是蓝色背景。通过 CSS 的 ::selection 伪元素,你可以自定义选中状态下的文本颜色和背景色,让页面更具个性和可读性。
基本语法
::selection 用于设置被用户选中的文本部分的样式。它支持以下常用属性:
- color:改变选中文字的颜色
- background-color:设置选中区域的背景色
- text-shadow:为选中文字添加阴影(可选)
示例代码:
::selection {color: #fff;
background-color: #007acc;
}
这段代码会让所有被选中的文本显示为白色文字、蓝色背景。
立即学习“前端免费学习笔记(深入)”;
兼容性与前缀
虽然现代浏览器普遍支持 ::selection,但为了兼容一些旧版本浏览器,建议加上私有前缀:
color: #fff;
background-color: #007acc;
}
::selection {
color: #fff;
background-color: #007acc;
}
注意:Firefox 以前使用 ::-moz-selection,但现在新版已统一支持标准写法,加前缀主要用于确保老版本兼容。
针对特定元素设置选中样式
你也可以只为某个元素或类定义特殊的选中效果。比如只想让标题的选中样式不同:
h1::selection {color: yellow;
background-color: red;
}
这样只有 h1 标签内的文本被选中时,才会显示黄字红底,其他文本仍使用全局或默认样式。
注意事项
使用 ::selection 时需注意几点:
- 只能应用有限的 CSS 属性,如 color、background-color、cursor 等,不支持 margin、padding 或字体大小等布局属性
- 避免使用过于刺眼的颜色组合,影响可读性
- 透明背景(transparent)是允许的,但某些浏览器可能表现不一致
基本上就这些。合理使用 ::selection 能提升用户体验,让界面更协调。不复杂但容易忽略。










