我需要选择放在h1元素之后的第4个div元素,我认为我的方式不是专业的方式,css中有指定的选择器吗?请注意,我必须在不向div添加id或class属性的情况下执行此操作. h1+div+div+div+div{backgrou
h1+div+div+div+div{ background-color:red; } <h1>css</h1> <div>just some text here,</div><hr> <div>just some text here,</div><hr> <div>just some text here,</div><hr> <div>just some text here,</div><hr> <div>just some text here,</div><hr>您可以使用nth-of-type和随后的兄弟组合器选择它,以便在h1之后选择第4个div,如下所示:
h1~div:nth-of-type(4) { background-color:red; }
~in css被称为后续兄弟组合子,它允许您选择第二种元素类型,其中第一种和第二种元素类型共享父级,第一种元素位于文档中第二种元素类型之前.
jsFiddle:https://jsfiddle.net/AndrewL64/crq43gs5/
如果你确定你的div之间没有任何hr标签或其他元素,你可以使用nth-child而不是使用5而不是4,因为〜也计算了h1标签.它看起来像这样:
h1~div:nth-child(5) { background-color:red; }
jsFiddle:https://jsfiddle.net/AndrewL64/crq43gs5/1/