为什么 CSS3 伪 ::selection 不改变所有部分的颜色?
为什么 CSS3 伪元素 selection
不改变突出显示的所有部分?正如您在此屏幕截图中看到的,我选择了页面的一部分,并且部分选择是默认的亮蓝色:
CSS,它位于我的 CSS 文件的顶部:
::selection { background: #3B3B3B; color: #fff; }
::-moz-selection { background: #3B3B3B; color: #fff; }
看起来输入的突出显示(文本、复选框等)和空白区域没有改变。有谁知道这是为什么,有没有办法改变页面的每个部分,使突出显示颜色保持一致?我正在使用 Chrome。
Why does the CSS3 pseudo-element selection
not change all parts of the highlight? As you can see in this screenshot I have selected part of the page, and parts of the selection are the default bright blue color:
This is the CSS that I'm using, it is at the top of my CSS file:
::selection { background: #3B3B3B; color: #fff; }
::-moz-selection { background: #3B3B3B; color: #fff; }
It seems like the highlight for inputs (text, checkboxes, etc.) and white space does not change. Does anyone know why this is, and is there a way to change it for every part of the page so the highlight color is consistent? I'm using Chrome.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
::selection
伪元素在 Chrome/Safari 中无法正常工作。元素将是标准突出显示颜色。这是一个非常古老且仍然悬而未决的错误:
https://bugs.webkit.org/show_bug .cgi?id=38943
我能想到的唯一解决方法是使用
contenteditable
元素而不是元素。
这是我创建的演示:http://jsfiddle.net/ThinkingStiff/FcCgA/
我写了一篇关于它的文章:https://stackoverflow.com/a/8529323/918414
The
::selection
pseudo-element doesn't work properly in Chrome/Safari.<input>
elements will be the standard highlight color. It's a very old and still outstanding bug:https://bugs.webkit.org/show_bug.cgi?id=38943
The only workaround I've been able to come up with is using
contenteditable
elements instead of<input>
elements.Here's a demo I created: http://jsfiddle.net/ThinkingStiff/FcCgA/
And a post I wrote about it: https://stackoverflow.com/a/8529323/918414