跳转到内容

CSS code selection code 伪元素

来自代码酷

CSS ::selection 伪元素[编辑 | 编辑源代码]

::selection 是 CSS 中的一个伪元素,用于设置用户在页面上选中文本时的样式。通过它,开发者可以自定义文本被选中时的背景颜色、文字颜色、阴影等效果,从而提升用户体验和页面的视觉一致性。

基本语法[编辑 | 编辑源代码]

::selection 伪元素的语法如下:

::selection {
    /* 可用的样式属性 */
    background-color: #ff0000;
    color: #ffffff;
    text-shadow: 1px 1px 1px #000;
}

支持的属性包括:

  • background-color
  • color
  • text-shadow
  • cursor(部分浏览器支持)
  • outline(部分浏览器支持)

兼容性说明[编辑 | 编辑源代码]

::selection 在现代浏览器中广泛支持,但在旧版本浏览器(如 IE 8 及以下)中可能无效。某些浏览器(如 Firefox)需要添加 -moz- 前缀:

::-moz-selection {
    background-color: #ff0000;
    color: #ffffff;
}

示例代码[编辑 | 编辑源代码]

以下是一个完整的示例,展示如何自定义选中文本的样式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>::selection 示例</title>
    <style>
        /* 标准语法 */
        ::selection {
            background-color: #4CAF50;
            color: white;
            text-shadow: none;
        }

        /* Firefox 兼容语法 */
        ::-moz-selection {
            background-color: #4CAF50;
            color: white;
            text-shadow: none;
        }

        p {
            font-family: Arial, sans-serif;
            font-size: 16px;
            line-height: 1.5;
        }
    </style>
</head>
<body>
    <p>尝试选中这段文本,可以看到背景变为绿色,文字变为白色。</p>
</body>
</html>

输出效果[编辑 | 编辑源代码]

当用户选中文本时:

  • 背景颜色变为绿色(#4CAF50
  • 文字颜色变为白色
  • 文本阴影被移除

实际应用场景[编辑 | 编辑源代码]

1. 品牌一致性:让选中的文本颜色与网站主题色匹配。 2. 可读性优化:在深色背景下,默认的蓝色选中效果可能不清晰,可以调整为高对比度颜色。 3. 交互反馈:在可交互区域(如按钮或链接)中,自定义选中样式以增强用户体验。

案例:深色主题的选中样式[编辑 | 编辑源代码]

在深色背景的网站上,默认的浅蓝色选中效果可能不够明显。以下是一个优化方案:

body {
    background-color: #121212;
    color: #e0e0e0;
}

::selection {
    background-color: #BB86FC; /* Material Design 紫色 */
    color: #000000;
}

注意事项[编辑 | 编辑源代码]

  • 不支持 background-imageborder 等复杂样式。
  • 某些浏览器可能限制可用的属性(如仅支持 colorbackground-color)。
  • 避免使用低对比度的颜色组合,以确保可访问性。

浏览器支持[编辑 | 编辑源代码]

以下是主流浏览器对 ::selection 的支持情况(截至 2023 年):

pie title ::selection 浏览器支持 "Chrome" : 95 "Firefox" : 90 "Safari" : 85 "Edge" : 95 "Opera" : 80

总结[编辑 | 编辑源代码]

::selection 是一个简单但强大的 CSS 功能,允许开发者自定义文本选中样式。通过合理使用,可以提升网站的视觉一致性和用户体验。建议始终测试跨浏览器兼容性,并确保颜色选择符合可访问性标准。