为什么CSS3伪::选择不更改所有零件的颜色?

为什么CSS3伪::选择不更改所有零件的颜色?,css,pseudo-element,textselection,Css,Pseudo Element,Textselection,为什么CSS3伪元素选择不会更改高亮显示的所有部分?正如您在这个屏幕截图中看到的,我选择了页面的一部分,部分选择是默认的亮蓝色: 这是我正在使用的CSS,它位于我的CSS文件的顶部: ::selection { background: #3B3B3B; color: #fff; } ::-moz-selection { background: #3B3B3B; color: #fff; } 似乎输入(文本、复选框等)的高亮显示和空白不会改变。有人知道这是为什么吗?有没有办法对页面的每个部分进

为什么CSS3伪元素
选择
不会更改高亮显示的所有部分?正如您在这个屏幕截图中看到的,我选择了页面的一部分,部分选择是默认的亮蓝色:

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

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

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

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

我能想到的唯一解决办法是使用
contenteditable
元素,而不是
元素

下面是我创建的一个演示:

还有我写的一篇帖子:

啊,我明白了。谢谢你。希望webkit团队能尽快修复它,因为这是一个非常烦人的bug。顺便问一下,您是如何在上面链接到的JSFIDLE演示中获得堆栈溢出横幅的?我在你的JSFIDLE的HTML框中的任何地方都看不到它的标记…@Nathan在HTML框中向下滚动。我很想提交一个新的bug,只是为了使用正确的术语(伪元素,而不是伪类)。@BoltClock可能会引起别人的注意,这仍然是一个问题。检查Chromium,我看到有人打开了blink()的一个模拟bug,但是它被复制到了这个问题:。我刚刚对这个bug添加了一条评论(例如,webkit补丁似乎还没有在这里讨论),所以希望这个问题能够得到一些关注,并最终在Chrome中得到解决。如果你想解决这个问题,请在那里分享你的想法。