HTML5 Boilerplate 模板中默认包含以下行:
::-moz-selection{background:#fe57a1;color:#fff;text-shadow:none;}
::selection{background:#fe57a1;color:#fff;text-shadow:none;}
但是,我想将选择颜色保持为操作系统默认值(在 Windows 中为蓝色,我认为在 Ubuntu 中为棕橙色)。如果我省略了背景属性,将没有背景。
HTML5 Boilerplate 模板中默认包含以下行:
::-moz-selection{background:#fe57a1;color:#fff;text-shadow:none;}
::selection{background:#fe57a1;color:#fff;text-shadow:none;}
但是,我想将选择颜色保持为操作系统默认值(在 Windows 中为蓝色,我认为在 Ubuntu 中为棕橙色)。如果我省略了背景属性,将没有背景。
由于 CSS 没有正式支持此选择器,已从 CSS3 中删除,并且目前不在 CSS4 的草案中,因此实际上没有太多关于应该如何应用选择器的文档。
正如选择器所定义的,它旨在覆盖系统的默认文本选择颜色。浏览器显然已经从字面上理解了这一点。通过指定::selection
,即使您没有指定它们,这些颜色也会立即被覆盖。问题是系统的默认值不是 CSS 的一部分。浏览器正在查看您的声明并认为“忽略系统的默认设置,改用此声明中的内容”。由于您没有在那里指定颜色,因此不应用颜色(背景为无,颜色为继承)。哎呀,很难说你的文字被选中了,是吧?
这只是关于似乎正在发生的事情的理论,因为正如我所说,实际上没有关于实际发生的事情或应该发生的事情的文档。
老实说,您真正确定的唯一方法是查看源代码并在看到该选择器时查看它在做什么。也许向开发团队中的某个人询问其中一种浏览器会更容易。无论哪种方式仍然很困难。也许你可以提交一个错误报告,他们可以更深入地研究这个问题......