通过CSS的::selection伪元素可自定义文本选中样式,支持background-color、color等属性,需注意浏览器兼容性及作用范围限制。

文本高亮样式可以通过 CSS 的 ::selection 伪元素来实现。当用户在网页中选中文本时,被选中的部分会应用该样式,从而提升视觉体验或品牌一致性。
基本语法与使用
::selection 用于设置用户选中文本时的背景色、文字颜色等外观效果。它支持常见的文本相关属性,但不支持所有 CSS 属性。
常用可设置属性包括:- background-color:选中区域的背景色(最常用)
- color:选中文本的颜色
- text-shadow:文本阴影
- cursor:光标样式(通常无效)
示例代码:
::selection {
background-color: #ffeb3b;
color: #333;
}
兼容性与浏览器前缀
现代浏览器普遍支持 ::selection,但在一些旧版本浏览器中可能需要添加厂商前缀以确保兼容性。
立即学习“前端免费学习笔记(深入)”;
为了更好的兼容性,建议同时写入以下形式:
/* 兼容性写法 */
::-webkit-selection {
background-color: #ffeb3b;
color: #333;
}
::-moz-selection {
background-color: #ffeb3b;
color: #333;
}
::selection {
background-color: #ffeb3b;
color: #333;
}
注意:Firefox 使用 ::-moz-selection,而 WebKit 内核浏览器(如 Chrome、Safari)识别 ::-webkit-selection。标准语法 ::selection 应放在最后作为兜底。作用范围与注意事项
::selection 可以全局设置,也可以针对特定元素定制高亮样式。
例如只为段落设置特殊高亮效果:
p::selection {
background-color: lightblue;
color: darkblue;
}
限制说明:- 不能设置边距、边框、浮动等布局类属性
- 仅对可选中文本内容生效
- 在 input 或 textarea 中的文本选择不受此样式控制
基本上就这些,合理使用可以让页面交互更细腻。










