8

为什么 CSS3 伪元素selection不改变高亮的所有部分?正如您在此屏幕截图中看到的那样,我选择了页面的一部分,并且选择的部分是默认的亮蓝色:

在此处输入图像描述

这是我正在使用的 CSS,它位于我的 CSS 文件的顶部:

::selection { background: #3B3B3B; color: #fff; }
::-moz-selection { background: #3B3B3B; color: #fff; }

输入(文本、复选框等)和空白区域的突出显示似乎没有改变。有谁知道这是为什么,有没有办法为页面的每个部分更改它以使突出显示颜色保持一致?我正在使用 Chrome。

4

1 回答 1

11

::selection伪元素在 Chrome/Safari 中无法正常工作。<input>元素将是标准的高亮颜色。这是一个非常古老且仍然很突出的错误:

https://bugs.webkit.org/show_bug.cgi?id=38943

我能想出的唯一解决方法是使用contenteditable元素而不是<input>元素。

这是我创建的演示:http: //jsfiddle.net/ThinkingStiff/FcCgA/
我写了一篇关于它的帖子:https ://stackoverflow.com/a/8529323/918414

于 2012-01-15T01:29:43.803 回答