使用CSS替换表格行颜色?

2022-01-30 00:00:00 html-table html css

我正在使用具有交替行颜色的表格.

I am using a table with alternate row color with this.

tr.d0 td {
  background-color: #CC9999;
  color: black;
}
tr.d1 td {
  background-color: #9999CC;
  color: black;
}

<table>
  <tr class="d0">
    <td>One</td>
    <td>one</td>
  </tr>
  <tr class="d1">
    <td>Two</td>
    <td>two</td>
  </tr>
</table>

这里我使用 tr 的类,但我只想用于 table.当我使用表格类时,这适用于 tr 替代方案.

Here I am using class for tr, but I want to use only for table. When I use class for table than this apply on tr alternative.

我可以使用 CSS 编写这样的 HTML 吗?

Can I write my HTML like this using CSS?

<table class="alternate_color">
    <tr><td>One</td><td>one</td></tr>
    <tr><td>Two</td><td>two</td></tr>
    </table>

如何使用 CSS 使行具有斑马条纹"?

How can I make the rows have "zebra stripes" using CSS?

推荐答案

$(document).ready(function()
{
  $("tr:odd").css({
    "background-color":"#000",
    "color":"#fff"});
});

tbody td{
  padding: 30px;
}

tbody tr:nth-child(odd){
  background-color: #4C8BF5;
  color: #fff;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
<tr>
<td>9</td>
<td>10</td>
<td>11</td>
<td>13</td>
</tr>
</tbody>
</table>

有一个 CSS 选择器,实际上是一个伪选择器,称为 nth-child.在纯 CSS 中,您可以执行以下操作:

There is a CSS selector, really a pseudo-selector, called nth-child. In pure CSS you can do the following:

tr:nth-child(even)
    background-color: #000000;
}

注意: IE 8 不支持.

或者,如果你有 jQuery:

Or, if you have jQuery:

$(document).ready(function()
{
    $("tr:even").css("background-color", "#000000");
});

相关文章