为什么CSS3伪元素selection不会改变突出显示的所有部分?正如您在此屏幕截图中看到的,我选择了部分页面,部分选项是默认的亮蓝色:

这是我正在使用的CSS,它位于我的CSS文件的顶部:
::selection { background: #3B3B3B; color: #fff; }
::-moz-selection { background: #3B3B3B; color: #fff; }
Run Code Online (Sandbox Code Playgroud)
它似乎是输入(文本,复选框等)和白色空间的亮点不会改变.有谁知道这是为什么,有没有办法改变它的页面的每个部分,所以高亮颜色是一致的?我正在使用Chrome.
我正在开发一个具有大量颜色样式的网站,大约250行CSS来定义7种颜色方案中的一种,因此我必须尽可能地保持各种颜色规则的分组.
当我尝试堆栈与不推荐使用的CSS3 ::selection伪元素相关的选择器时,Firefox 4的最新RC表现很糟糕.
这有效:
.green ::-moz-selection {
/* 'Pure Hue' Color */
background-color: #62BA21;
color: white;
}
Run Code Online (Sandbox Code Playgroud)
但是,一旦我尝试与webkit的选择器共享规则,它就会中断.
对FireFox不起作用:
.green ::selection, .green ::-moz-selection {
/* 'Pure Hue' Color */
background-color: #62BA21;
color: white;
}
Run Code Online (Sandbox Code Playgroud)
我知道他们可能不会解决这个错误,因为::selection工作草案中不再存在这个错误,但我更愿意,如果我不必为了这个怪癖而放弃我的CSS.