::selection伪元素可自定义文本选中样式,常用background-color和color属性设置高亮效果,支持全局或特定元素的样式定义,如h1::selection改变标题选中颜色,需注意仅部分CSS属性生效且应保证文字可读性。

在CSS中,::selection 伪元素用于自定义用户选中文本时的高亮样式。通过它,可以改变选中文字的背景色、文字颜色、甚至添加一些简单的视觉效果,提升页面的交互体验。
基本语法与使用方式
::selection 可以应用于任何块级或内联元素中的可选中文本。最常见的是设置全局选中样式,也可以针对特定元素单独设置。
常用属性包括:- background-color:选中区域的背景色(最常用)
- color:选中文本的颜色
- text-shadow:文本阴影(部分浏览器支持)
- cursor:鼠标光标样式(一般不生效)
示例:设置整个页面的选中样式
::selection {
background-color: #ff6b6b;
color: white;
}
为特定元素设置不同选中效果
如果只想对某个类或标签内的文本设置特殊选中样式,可以直接结合选择器使用。
立即学习“前端免费学习笔记(深入)”;
h1::selection {
background-color: yellow;
color: black;
}
.highlight::selection {
background-color: purple;
color: #fff;
}
这样,只有 h1 标签或带有 .highlight 类的文本被选中时,才会显示对应的样式。
兼容性与注意事项
::selection 在现代浏览器中支持良好,但在老版本IE中不被支持(IE8及以下不支持)。另外需要注意:
- 只能设置有限的CSS属性,如 background、color、outline 等,不能使用 margin、padding、font-size 等布局或尺寸属性
- 建议始终提供良好的对比度,避免选中后文字难以阅读
- 在深色背景下选中浅色文字时,尤其要注意背景与文字颜色的搭配
基本上就这些。合理使用 ::selection 能让页面更具个性,同时保持可用性。










