html - css 后代选择器追加样式,子元素除外

标签 html css

我有两个包含表格的 div。当我应用第一个 div 的 css 类表时,第二个 div 表会受到影响。

.tbl-generic th:nth-child(-n+2),td:nth-child(-n+2) { 
    background-color:red;
    width:25px;
} 

.tbl-generic th:nth-last-child(-n+3),td:nth-last-child(-n+3) { 
    background-color:red;
    width:25px;
}
<div>
  <table class="tbl-generic">
    <tr>
    <td style="width:55px;">TEST1</td>
    <td style="width:55px;">TEST2</td>
    <td>TEST3</td>
    <td>TEST4</td>
    <td>TEST5</td>
    <td>TEST6</td>
    <td>TEST7</td>
  </tr>
 </table>
</div>

<div>
 <table>
    <tr>
    <td style="width:55px;">A</td>
    <td style="width:55px;">B</td>
    <td>C</td>
    <td>D</td>
    <td>E</td>
    <td>F</td>
    <td>G</td>
  </tr>
 </table>
</div>

这里是 jsFiddle

最佳答案

你在你的 css 中忘记了 .tbl-generic

.tbl-generic th:nth-child(-n+2), .tbl-generic td:nth-child(-n+2) { 
    background-color:red;
    width:25px;
} 

.tbl-generic th:nth-last-child(-n+3), .tbl-generic td:nth-last-child(-n+3) { 
    background-color:red;
    width:25px;
}
<div>
  <table class="tbl-generic">
    <tr>
    <td style="width:55px;">TEST1</td>
    <td style="width:55px;">TEST2</td>
    <td>TEST3</td>
    <td>TEST4</td>
    <td>TEST5</td>
    <td>TEST6</td>
    <td>TEST7</td>
  </tr>
 </table>
</div>

<div>
 <table>
    <tr>
    <td style="width:55px;">A</td>
    <td style="width:55px;">B</td>
    <td>C</td>
    <td>D</td>
    <td>E</td>
    <td>F</td>
    <td>G</td>
  </tr>
 </table>
</div>

关于html - css 后代选择器追加样式,子元素除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47176933/

相关文章:

php - 从数组中选择两种颜色

html - CSS/HTML : Photo Gallery Thumbnails Smaller than Hyperlink

javascript - 遍历 ngFor,如果索引 mod(%) 10 为 0,则显示分隔符

html - 为什么样式应用两次?

html - CSS:如何忽略按钮类的默认超链接颜色

html - 无法点击导航栏中的链接

html - Bootstrap 的网格问题

javascript - getElementById 类型错误 : "cannot set property ' innerHTML' of null

html - 在不同的 div 中垂直居中文本

html - 将自定义 css 添加到默认 style.css(Underscores _S Wordpress 主题)?