css - 如何在不更改默认颜色和背景颜色的情况下使用 CSS3::selection?

标签 css html5boilerplate

HTML5 Boilerplate 模板默认包含以下几行:

::-moz-selection{background:#fe57a1;color:#fff;text-shadow:none;}
::selection{background:#fe57a1;color:#fff;text-shadow:none;}

但是,我想将选择颜色保留为操作系统默认值(Windows 中为蓝色,我认为在 Ubuntu 中为棕橙色)。如果我省略了 background 属性,就不会有背景。

最佳答案

由于此选择器未正式受 CSS 支持,已从 CSS3 中删除且目前不在 CSS4 草案中,因此确实没有太多文档确切地应该应用选择器。

根据选择器的定义,它旨在覆盖系统的默认文本选择颜色。浏览器显然从字面上理解了这一点。通过指定 ::selection,这些颜色会立即被覆盖,即使您没有指定它们也是如此。问题是系统的默认值不是 CSS 的一部分。浏览器看到您的声明并认为“忽略系统的默认设置,而是使用此声明中的内容”。由于您没有在那里指定颜色,因此不会应用任何颜色(背景为无,颜色为继承)。哎呀,有点难以判断您的文本已被选中,是吧?

这只是关于似乎正在发生的事情的理论,因为正如我所说,确实没有关于实际发生的事情或应该发生的事情的文档。

老实说,您真正确定知道的唯一方法是查看源代码,看看当它看到该选择器时它在做什么。也许向开发团队的某个人询问这些浏览器之一会更容易。无论哪种方式仍然很困难。也许您可以提交错误报告,他们可以更深入地研究这个问题......

关于css - 如何在不更改默认颜色和背景颜色的情况下使用 CSS3::selection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8676276/

相关文章:

html - 灰色边框出现在 chrome 中的错误

ios - 如何防止Mobile Safari 炸毁字体?

css - 在 HTML5 样板中添加背景图片

html - css 背景图像位置固定无法按预期工作

css - 我应该如何使用 index.html?

html - 如何为 chrome 和 Firefox 添加查看密码图标?

javascript - 无法显示 Angular 形式的跨度

javascript - 如何在父div中水平居中多个div

css - 使用 HTML5、CSS3 和 HTML5 Boilerplate 在 Firefox 上单击 anchor 时 anchor 向右移动

javascript - 移动菜单按钮不可点击