我无法理解{element}继承的::-moz-selection
伪元素的方式。我的意思是:如果我将:: - moz-selection应用于body标签
body::moz-selection {
background: red;
}
它还适用于body标签内的段落(< p>)? 我找到了这个http://dev.w3.org/csswg/css-pseudo-4/#highlight-cascade
这可以替代地以继承来描述。可观察到的差异将在于继承和未设置的行为。它应该从parent :: selection还是originate元素继承? Opera是前者,Gecko / Blink是后者。
我不太清楚'起源'元素是什么意思('父母'对我来说似乎很清楚)以及这种继承的工作方式。
答案 0 :(得分:4)
在CSS中,伪元素的原始元素只是指伪元素所附加的元素。例如,在选择器body::selection
中,原始元素是body
元素。
那句话说在Opera(Presto)中,子元素的::selection
伪元素从父母的::selection
伪元素继承他们的样式,而在Gecko和Blink中,他们继承自其原始元素 only (这是所有现有CSS1和CSS2伪元素的标准行为)。
似乎多个::selection
样式的级联行为是明确定义的:采取最内层的声明。但继承是一个棘手的问题,特别是考虑到冲突的实现行为。特别是,如果在color: inherit
上指定了::selection
,那么该值是否应取自原始元素的颜色(行为与currentColor
完全相同),或者是否应取自::selection
父母{{1}}?