Html CSS'n儿童'行为段落vs div?
我有以下CSS代码:Html CSS'n儿童'行为段落vs div?,html,css,css-selectors,Html,Css,Css Selectors,我有以下CSS代码: article ul ul :nth-child(2) { border:1px solid black; } 它选择dom树中的第二个元素,而不考虑树中的深度。(但它必须在ul内,必须在ul内,必须在文章内) 但为什么在本例中不选择每秒钟一项 第n个孩子(2){ 边框:1px纯黑; } 这不是 这不是 这不是 这个 这不是 为什么不是这个 您的标记无效。ul只能将li元素作为其直接后代。此外,li是p的无效子级。只能包含,不包括li。我建议您检查
article ul ul :nth-child(2) {
border:1px solid black;
}
它选择dom树中的第二个元素,而不考虑树中的深度。(但它必须在ul
内,必须在ul
内,必须在文章
内)
但为什么在本例中不选择每秒钟一项
第n个孩子(2){
边框:1px纯黑;
}
- 这不是
- 这不是
- 这不是
- 这个
- 这不是
- 为什么不是这个
您的标记无效。ul
只能将li
元素作为其直接后代。此外,li
是p
的无效子级。只能包含,不包括li
。我建议您检查下面的代码片段,看看您的浏览器是如何改变的,以试图纠正您的标记错误。至少对于chrome来说,它最终将段落标记一分为二,并将嵌套的li
元素与其他元素放在同一级别上
第n个孩子(2){
边框:1px纯黑;
}
- 这不是
- 这不是
- 这不是
- 这个
- 这不是
- 为什么不是这个
正如@Huangism已经提到的,您的HTML无效
发件人:
允许的内容:零个或多个
元素,这些元素通常包含嵌套的
或
元素
下面是一个示例,说明需要如何构造dom才能使其工作:
第n个孩子(2){
边框:1px纯黑;
}
- 这不是
- 这不是
-
- 这不是
- 这个
-
- 这不是
- 为什么不是这个
您应该将html更正为有效的html,然后它就可以工作了ul
不能作为子级位于另一个ul
内部。它应该是列表项,然后是列表项内部的ul
。您的段落标记也应该位于列表项的内部,而不是作为ul
的子元素检查元素,您会看到您的错误,请参见