1. ホーム
  2. html

[解決済み] CSSを使用してテーブルの行の色を交互に変更しますか?

2022-03-19 12:20:20

質問

行の色が交互に変わるテーブルをこのように使っています。

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 の代替となります。

CSSを使ってこのようにHTMLを書くことはできますか?

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

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では、次のようにすることができます。

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

IE 8ではサポートされていません。

または、jQueryがある場合。

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