我对后代选择器有疑问…
.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选择器的平均值?(特别是我的答案的脚注)