html - 直接 child 的备用表行颜色

标签 html css html-table

我想用不同的颜色为表格的行着色,所以我正在使用它

table#news tr:nth-child(even) {      
  background-color: red;
}
table#news tr:nth-child(odd) {
  background-color: green;
}

这种结构效果很好

<table id="news">
<tr><td>Row 1</td></tr>
<tr><td>Row 2</td></tr>
<tr><td>Row 3</td></tr>
</table>

但现在我使用的是这种表格。

<table id="news">
  <tr>
    <td>
      <tr><td>1</td></tr>
      <tr><td>2</td></tr>
    </td>
  </tr>
</table>

该样式也适用于行内的行。

我怎样才能继续为 <tr> 的第一级应用替代颜色? ?

最佳答案

试试这个:

table#news > tr:nth-child(even) {      
  background-color: red;
}
table#news > tr:nth-child(odd) {
  background-color: green;
}

> 表示它是 #news 必须是 tr 的直接父级。

为了使其工作,您还必须添加 tbody 选择器。

table#news tbody > tr:nth-child(even) {      
  background-color: red;
}
table#news tbody > tr:nth-child(odd) {
  background-color: green;
}

tbody 元素由浏览器自动添加。

无论如何,上面的仍然行不通,因为您不能将tr 嵌套在td 中。您需要做的是在 td 中创建一个全新的表。看到这个:Html table tr inside td

运行下面的代码片段并查看源代码。

table.news > tbody > tr:nth-child(even) {
  background-color: red;
}
table.news > tbody > tr:nth-child(odd) {
  background-color: green;
}
<table class="news">
  <tr>
    <td>Row 1</td>
  </tr>
  <tr>
    <td>Row 2</td>
  </tr>
  <tr>
    <td>Row 3</td>
  </tr>
</table>

<table class="news">
  <tr>
    <td>
      Test
      <tr>
        <td>Row 1</td>
      </tr>
      <tr>
        <td>Row 2</td>
      </tr>
      <tr>
        <td>Row 3</td>
      </tr>
    </td>
  </tr>
</table>

<h1> Fixed </h1>

<table class="news">
  <tr>
    <td>Row 1</td>
  </tr>
  <tr>
    <td>Row 2</td>
  </tr>
  <tr>
    <td>Row 3</td>
  </tr>
</table>

<table class="news">
  <tr>
    <td>
      Test
      <table>
        <tr>
          <td>Row 1</td>
        </tr>
        <tr>
          <td>Row 2</td>
        </tr>
        <tr>
          <td>Row 3</td>
        </tr>
      </table>
    </td>
  </tr>
</table>

关于html - 直接 child 的备用表行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36570391/

相关文章:

jquery - jQuery中的AddRowTable有选择地写入输入框

javascript - 将数组传递到 HTML 表或变量中

jquery - div 在鼠标悬停事件期间未保持

java - 使用 Jsoup 的 connect 方法连接到特定 URL 时出现问题

c++ - 用 C++ 解析 <li> 列表

css - 更改 Logo 位置后菜单栏不起作用

Python Pandas read_html 摆脱表中嵌套的 span 元素

html - 完美放置比屏幕大的图像

javascript - 如果选择了特定选项,则显示 TR 元素

javascript - 如何在 2 列中显示多个 html 表格