css - 为什么这个 nth-child 伪选择器在下表中不起作用?

标签 css

这是 CSS:

#signup .vedit tbody > tr.b_part3:nth-child(2) {
  background: red;
}

HTML 结构:

enter image description here

如您所见,我想选择表格的第二个 .b_part tr 元素。

但由于某些原因,CSS 规则未被应用。

可能是什么问题?

实时站点:http://www.chineselearnonline.com/amember/signup4.php

最佳答案

我知道@Musa 提出了这个问题的解决方案,但我会添加它只是为了记录以防其他人遇到这个问题。

截至目前,您不能通过类分割 sibling 的部分并使用 :nth-child()。

    //Standard Use:
    ul li:nth-child(2) {  
      color: #0cf;
    }

    <ul>
        <li>One</li>
        <li>Two</li> <!-- Highlights Two -->
        <li>Three</li>
    </ul>

    // Attempted Use:
    ul li.scope:nth-child(2) {  
      color: #0cf;
    }

    <ul>
        <li>One</li>
        <li>Two</li>
        <li>Three</li>
        <li class="scope">One</li>
        <li class="scope">Two</li> <!-- Fails -->
        <li class="scope">Thre</li>
    </ul>

    // Optional Solution:
    ul.scope li:nth-child(2) {  
      color: #0cf;
    }

    <ul>
        <li>One</li>
        <li>Two</li>
        <li>Three</li>
    </ul>

    <ul class="scope">
        <li>One</li>
        <li>Two</li> <!-- Highlights Two -->
        <li>Three</li>
    </ul>

似乎为了激活第 nth-child 伪类,它需要直接访问元素本身而不是它的节点之一。因此,目前主要的解决方法是重构并将您的范围提升一个级别(或更高级别)。

关于css - 为什么这个 nth-child 伪选择器在下表中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17779365/

相关文章:

html - 新行中溢出文本的边距

javascript - 如何遍历 div 中的 ul 元素并在提交时单独隐藏它们?

html - CSS中的居中页面

php - 将我的网站设置为公开后图像出现错误

html - transform,transform-origin 在@keyframes 中不起作用

html - Bootstrap - 背景颜色为流体的非流体容器和行

css - 为什么 css 过渡不起作用

html - 不透明度查询 - HTML, CSS & Bootstrap

css - 在手机上滚动时顶部和底部的空白

html - 如何在没有固定高度的情况下使动态div溢出