CSS三重后代选择器



我对后代选择器有疑问…

.classA .classB .classC{
    background-color: #000;
}

这将背景应用于所有classC元素,classB元素的子元素(直接或间接),其中classB元素是classA元素的子元素(直接或间接)。这不会将背景应用于类a元素的子类c元素,而是应用于类b元素的非子类。这样对吗?

.classA > .classB .classC{
    background-color: #000;
}

这将背景应用于所有classC元素,所有classB元素的子元素(直接或间接),其中classB元素是类a元素的直接(非间接)子元素。

一切都好吗?

你说的都是对的,除了把"child"换成"descendant"。"直系子女"是一个同义反复;根据定义,孩子是直系后代。相反,在选择器E > F > G中,G是E的后代,但不是它的子;它是它的孙子。

这就是为什么>被称为子组合子,或者直接后代组合子,而不是"直接子"组合子。

参见:">"(大于号)CSS选择器的平均值?(特别是我的答案的脚注)

最新更新