通过::selection伪元素可自定义文本选中样式,支持color、background-color等属性,提升页面个性化与品牌一致。

在网页中,当用户选中文本时,默认的文字高亮颜色通常是浏览器设定的蓝色。通过 CSS 的 ::selection 伪元素,你可以自定义选中文字的背景色、文字颜色等样式,让页面更具个性化和品牌一致性。
基本语法
::selection 用于设置用户选中文本时的高亮样式。它支持部分 CSS 属性,主要是颜色相关属性:
- color:选中文字的前景色(字体颜色)
- background-color:选中文字的背景色
- text-shadow:文字阴影
- cursor:光标样式(较少使用)
示例:
::selection {
background-color: #ff6b6b;
color: white;
}
兼容性与写法建议
虽然现代浏览器普遍支持 ::selection,但为了更好的兼容性(尤其是老版本 WebKit 浏览器),推荐同时使用带前缀的写法:
立即学习“前端免费学习笔记(深入)”;
::-moz-selection {
background-color: #ff6b6b;
color: white;
}
::selection {
background-color: #ff6b6b;
color: white;
}
-moz- 前缀用于旧版 Firefox,其他现代浏览器使用标准的 ::selection。
针对特定元素定制
你也可以只为某些元素设置特殊的选中样式。比如让标题选中时显示黄色背景,而正文为红色:
h1::selection {
background-color: yellow;
color: black;
}
p::selection {
background-color: #d9534f;
color: #fff;
}
注意事项
以下几点需要注意:
- ::selection 只能定义有限的样式,不能设置字体、边距等布局属性
- 透明背景(如 transparent 或 rgba(0,0,0,0))可能导致不可见或回退到默认样式
- 移动端 Safari 和部分浏览器对样式的支持略有差异,建议实际测试
- 避免使用过于刺眼的颜色组合,影响可读性和用户体验
基本上就这些。合理使用 ::selection 能提升页面细节体验,不复杂但容易忽略。
以上就是css 伪元素 浏览器 safari firefox css safari webkit 伪元素 background


