nth-child没有采用所需的元素

马塞尔·瓦西莱夫斯基(Marcel Wasilewski)

我得到了一个文档,其构建类似于以下代码:

<div id="menubox_container_box_body">
   <div class="categories">...</div>
   <div class="categories">
      <div class="cat_icon">...</div>
      <div class="cat_link">
          <div class="cat_link_container">...</div>
               <div class="cat_icon">...</div>
               <div class="cat_sub_link">
                  <div class="cat_link_container">...</div>
               </div>
                  <div class="cat_icon">...</div>
                  <div class="cat_sub_link">
               <div class="cat_link_container">...</div>
      </div>
   </div>

现在,我尝试使用此命令 一个中选择a cat_link_container

#menubox_categories_box_body .categories:nth-child(2) .cat_link .cat_link_container:nth-child(1){
    margin-bottom: 20px;
}

它的作用是使所有cat_link_container元素(甚至是cat_sub_linkdiv中元素)都具有边距底限。但我选择了仅拿第一cat_link_containercat_link,并给它一个margin-bottom有人知道可能是什么问题?

哈利

要仅选择在其子元素class='cat_link_container'具有under的元素,div class='cat_link'而不是在其子元素下具有相同类的元素,则需要使用>(children)选择器,如下面的代码示例中所示:

#menubox_container_box_body .categories:nth-child(2) .cat_link > .cat_link_container:nth-child(1){
    color: red;
    font-size: 24px;
}
<div id="menubox_container_box_body">
    <div class="categories">...</div>
    <div class="categories">
        <div class="cat_icon">...</div>
        <div class="cat_link">
            <div class="cat_link_container">...</div>
            <div class="cat_icon">...</div>
            <div class="cat_sub_link">
                <div class="cat_link_container">...</div>
            </div>
            <div class="cat_icon">...</div>
            <div class="cat_sub_link">
                <div class="cat_link_container">...</div>
            </div>
        </div>
    </div>
</div>


解释:

原始选择器的解释如下:

#menubox_container_box_body .categories:nth-child(2) .cat_link .cat_link_container:nth-child(1)
  • 使用查找元素id='menubox_container_box_body'
  • 在此元素下,找到所有后代元素(子代,孙子代等),它们是其父代的第二个子代,并且也具有class='categories'
  • 在上一点获得的所有元素下,找到带有 class='cat_link'
  • 遍历在以上位置获取的所有元素,找到所有后代元素,这些后代元素是其父级的第一个子代,并且也具有class='cat_link_container'
<div id="menubox_container_box_body"> <!-- 1st point in explanation -->
    <div class="categories">...</div>
    <div class="categories"> <!-- 2nd point in explanation -->
        <div class="cat_icon">...</div>
        <div class="cat_link"> <!-- 3rd point in explanation --> 
            <div class="cat_link_container">...</div> <!-- descendant, first-child of its parent and so selected -->
            <div class="cat_icon">...</div>
            <div class="cat_sub_link">
                <div class="cat_link_container">...</div> <!-- descendant of the element referenced by 3rd point, first-child of its own parent and so selected -->
            </div>
            <div class="cat_icon">...</div>
            <div class="cat_sub_link">
                <div class="cat_link_container">...</div> <!-- descendant of the element referenced by 3rd point, first-child of its own parent and so selected -->
            </div>
        </div>
    </div>
</div>

我在回答中提供的修改后的选择器将被解释如下:

#menubox_container_box_body .categories:nth-child(2) .cat_link > .cat_link_container:nth-child(1)
  • 使用查找元素id='menubox_container_box_body'
  • 在此元素下,找到所有后代元素(子代,孙子代等),它们是其父代的第二个子代,并且也具有class='categories'
  • 在上一点获得的所有元素下,找到带有 class='cat_link'
  • 遍历在以上点中获取的所有元素,找到第3点所指元素的第一个子元素,该元素也具有class='cat_link_container'请注意,它如何仅检查直子而不检查后代。
<div id="menubox_container_box_body"> <!-- 1st point in explanation -->
    <div class="categories">...</div>
    <div class="categories"> <!-- 2nd point in explanation -->
        <div class="cat_icon">...</div>
        <div class="cat_link"> <!-- 3rd point in explanation --> 
            <div class="cat_link_container">...</div> <!-- direct child, first-child of its parent and so selected -->
            <div class="cat_icon">...</div>
            <div class="cat_sub_link">
                <div class="cat_link_container">...</div> <!-- not direct link and hence not selected -->
            </div>
            <div class="cat_icon">...</div>
            <div class="cat_sub_link">
                <div class="cat_link_container">...</div> <!-- not direct link and hence not selected -->
            </div>
        </div>
    </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与nth-child否决元素

来自分类Dev

为什么 .class_name:nth-child(even) 计算没有 .class_name 的元素

来自分类Dev

jQuery的:not()+ nth-child

来自分类Dev

多个nth Child语句

来自分类Dev

在带有nth-child的CSS中选择元素

来自分类Dev

css动画没有响应span:nth-child

来自分类Dev

使用nth-child()选择元素

来自分类Dev

如果$(this)是nth-child(x)

来自分类Dev

nth-child的替代样式

来自分类Dev

模数css nth-child

来自分类Dev

使用nth-child发行

来自分类Dev

如果$(this)是nth-child(x)

来自分类Dev

模数css nth-child

来自分类Dev

基本 :nth-child cunfusion

来自分类Dev

python selenium click nth元素

来自分类Dev

python selenium click nth元素

来自分类Dev

既不是nth-child也不是nth-of-type

来自分类Dev

:nth-child() 和 :nth-of-type() 不起作用

来自分类Dev

创建伪元素,但排除特定元素(使用 not:nth-child)

来自分类Dev

有没有办法在:nth-child(n)中使用“ n”值?

来自分类Dev

jQuery nth-child获得意外元素

来自分类Dev

使用:nth-child遍历子LI元素

来自分类Dev

nth-child从多类div中选择错误的元素

来自分类Dev

使用nth-child()进行高级元素选择

来自分类Dev

元素1,6、7、10、13等的nth-child

来自分类Dev

热删除 :nth-child 元素,带循环?

来自分类Dev

如何使用带有:hover的nth-child来设置多个子元素的样式?

来自分类Dev

nth-child()选择器仅对少数几个元素有效

来自分类Dev

:nth-child仅与特定类或元素有关