2

我知道星号匹配元素内的所有项目。是否有任何选择器也包含父元素?

示例 HTML

<p>
    foobar
    <span>
        foobar
    </span>
</p>

示例 CSS

p * {
    background-color:aqua;
}

现在只有 p 中的 span 元素获得背景颜色。是否有匹配 p 标签和 p 标签内所有标签的选择器?还是我还得用

p, p * {
    background-color:aqua;
}

注意background-color是唯一的虚拟内容。

4

2 回答 2

4

您将不得不使用p, p *,尽管取决于您正在应用的属性,如果它是默认继承的,则只需将其应用于p并让其后代继承它就足够了。如果您将其显式应用于所有后代,则可能会不必要地破坏继承链。

考虑到背景的性质,我认为将背景颜色应用于自身的所有后代p并没有多大意义。p

于 2013-05-07T12:37:50.583 回答
2

是否有任何选择器也包含父元素?

否。请参阅是否有 CSS 父选择器?以获得更详细的解释。

已建议使用 css 级别 4,但已拒绝:Complex CSS selector for parent of active child

于 2013-05-07T12:40:47.627 回答