选择继承 (::selection, ::-moz-selection)

Selection inheritance (::selection, ::-moz-selection)

无法理解::-moz-selection伪元素的继承方式。我的意思是:如果我将 ::-moz-selection 应用于正文标签

是否有可能
body::moz-selection {
  background: red;
}

它也适用于 body 标签内的段落 (

)? 我找到了这个 http://dev.w3.org/csswg/css-pseudo-4/#highlight-cascade

This could alternately be described in terms of inheritance. The observable differences would be in how inherit and unset behave. Should it inherit from the parent ::selection or the originating element? Opera does the former, Gecko/Blink the latter.

我不太明白 'originating' 元素的含义('parent' 对我来说似乎很清楚)以及这种继承的工作方式。

在CSS中,伪元素的原始元素只是指伪元素附加到的元素。例如,在选择器 body::selection 中,原始元素是 body 元素。

那个注释是说在 Opera (Presto) 中,子元素的 ::selection 伪元素从其父元素的 ::selection 伪元素继承它们的样式,而在 Gecko 和 Blink 中,它们继承自它们的原始元素 only(这是所有现有 CSS1 和 CSS2 伪元素的标准行为)。

多个 ::selection 样式的级联行为似乎是明确定义的:采用最内层的声明。但继承是症结所在,尤其是考虑到相互冲突的实现行为。特别是,如果在 ::selection 上指定了 color: inherit,该值应该取自原始元素的颜色(行为与 currentColor 完全相同),还是应该取自其父元素的 [=12] =]?