14

我在大多数文本站点范围内使用文本阴影,但是当您突出显示/选择文本时 - 文本看起来很模糊。因此,为了删除文本阴影,我从这里使用了这个 css 。

::-moz-selection,
::-webkit-selection,
::selection {
    text-shadow: none;
    background: #333;
    color: #fff;
}

问题是由于某种原因moz-selection似乎在 mozilla (Firefox) 中不起作用(不再?)。

这是jsFiddle

4

2 回答 2

30

似乎问题是由于将多个 css 规则(针对特定于供应商的 css)与 ::selection 伪元素组合在一起。

我最初认为将每个语句写在单独的行上就足够了。

我错了。

因此,如果我替换此代码:

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

..使用此代码:

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

....宾果游戏,它有效。

小提琴

支持也很好(桌面版):Caniuse

此外,如果您使用 LESS 或 SASS - 您可以轻松编写一个 mixin 来绕过重复。

于 2013-09-29T08:07:38.690 回答
6

以下内容记录在 Mozilla Developer Network 上

尽管这个伪元素出现在 CSS Selectors Level 3 草案中,但在候选推荐阶段被删除了,因为它的行为似乎没有明确说明,尤其是嵌套元素,并且没有实现互操作性(基于在W3C 风格的邮件列表)。

::selection 伪元素目前不在标准轨道上的任何 CSS 模块中。它不应该在生产环境中使用。

于 2012-10-23T09:38:46.930 回答