5

所以,这不是绝对需要,但我很好奇,如果它存在,可能会在某个时候使用它......

我开发了一个网站(不是我的设计),其中某些文本区域有文本阴影,我注意到当所述文本被突出显示时,它不是很清晰。我知道并利用::selectionCSS 选择器以及适当的浏览器前缀来删除突出显示的文本阴影。

我的问题是,当文本保持选中状态并且焦点从页面中移除时,是否有任何东西可以覆盖突出显示的默认设置

示例:我做了全选,默认情况下(Mozilla),选定的文本有蓝色背景。然后我......说,开始弄乱Firebug,或者在我的浏览器上打开一个较小的窗口。所有高光变为灰色。我可以使用::selection属性(颜色、背景、文本阴影等)更改蓝色的行为,但灰色的行为保持不变。这样的事情存在吗?

4

2 回答 2

2

@feelinferrety 答案是否定的。

您无法在失焦窗口上更改选择突出显示颜色。至少截至目前(2019 年 1 月)

因为这解释了如何在焦点窗口上使用::selection| ::-moz-selection
https://css-tricks.com/almanac/selectors/s/selection/

这清楚地表明:window-inactive| :-moz-window-inactive实际上会起作用,但它们不能一起工作......因为它没有标准化,因此没有开发
https://css-tricks.com/window-inactive-styling/

虽然有趣的是,例如当窗口失焦时,您可以更改页面一半的背景颜色......

于 2019-01-16T01:49:54.793 回答
1

是的,您可以将选择器与 ::selection 一起使用

例如,对灰色类的特定段落尝试此操作

.gray p::-moz-selection { color: gold;  background: red; }
.gray p::selection      { color: gold;  background: red; } 

甚至是灰色类的 div

.gray div::-moz-selection { color: gold;  background: red; }
.gray div::selection      { color: gold;  background: red; } 

我不确定与此的兼容性,但它适用于 FF、Chrome 和 IE9

于 2013-08-19T17:43:41.703 回答