Цвет альтернативной таблицы строк с использованием CSS?

Я использую таблицу с альтернативным цветом строки с этим.

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>

Ответ 1

$(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>

Ответ 2

У вас есть псевдокласс :nth-child():

table tr:nth-child(odd) td{
    ...
}
table tr:nth-child(even) td{
    ...
}

В первые дни :nth-child() его поддержка браузера была слабой. Поэтому установка class="odd" стала такой распространенной техникой. В конце 2013 года я рад сообщить, что IE6 и IE7 наконец-то мертвы (или достаточно больны, чтобы перестать беспокоиться), но IE8 все еще рядом - к счастью, это единственное исключение.

Ответ 3

Просто добавьте следующее в свой html-код (с помощью <head>), и все будет готово.

HTML:

<style>
      tr:nth-of-type(odd) {
      background-color:#ccc;
    }
</style>

Легче и быстрее, чем примеры jQuery.

Ответ 4

Могу ли я написать свой html, как это, используя css?

Да, вы можете, но тогда вам придется использовать псевдо-селектор :nth-child() (который имеет ограниченную поддержку хотя):

table.alternate_color tr:nth-child(odd) td{
   /* styles here */
}
table.alternate_color tr:nth-child(even) td{
   /* styles here */
}

Ответ 5

Большинство вышеперечисленных кодов не будут работать с версией IE. Это решение, которое работает для IE + других браузеров.

   <style type="text/css">
      tr:nth-child(2n) {
             background-color: #FFEBCD;
        }
</style>

Ответ 6

Мы можем использовать нечетные и четные правила CSS и метод jQuery для альтернативных цветов строк

Использование CSS

table tr:nth-child(odd) td{
           background:#ccc;
}
table tr:nth-child(even) td{
            background:#fff;
}

Использование jQuery

$(document).ready(function()
{
  $("table tr:odd").css("background", "#ccc");
  $("table tr:even").css("background", "#fff");
});

table tr:nth-child(odd) td{
           background:#ccc;
}
table tr:nth-child(even) td{
            background:#fff;
}
<table>
  <tr>
    <td>One</td>
    <td>one</td>
   </tr>
  <tr>
    <td>Two</td>
    <td>two</td>
  </tr>
</table>

Ответ 7

<script type="text/javascript">
$(function(){
  $("table.alternate_color tr:even").addClass("d0");
   $("table.alternate_color tr:odd").addClass("d1");
});
</script>

Ответ 8

Вы можете использовать селектора nth-child (нечетные/четные), однако не все браузеры (т.е. 6-8, ff v3.0) поддерживайте эти правила, поэтому большинство решений возвращаются к какой-либо форме решения javascript/jquery, чтобы добавить классы в строки для этих несовместимых браузеров, чтобы получить эффект тигровой полосы.

Ответ 9

Существует довольно простой способ сделать это в PHP, если я понимаю ваш запрос, я предполагаю, что вы код на PHP, и вы используете CSS и javascript для улучшения вывода.

Динамический вывод из базы данных будет содержать цикл for для повторения результатов, которые затем загружаются в таблицу. Просто добавьте вызов функции следующим образом:

echo "<tr style=".getbgc($i).">";  //this calls the function based on the iteration of the for loop.

затем добавьте функцию в файл страницы или библиотеки:

function getbgc($trcount)
{

$blue="\"background-color: #EEFAF6;\"";
$green="\"background-color: #D4F7EB;\"";
$odd=$trcount%2;
    if($odd==1){return $blue;}
    else{return $green;}    

}

Теперь это будет динамически чередуться между цветами в каждой новой сгенерированной таблице строк.

Это намного проще, чем возиться с CSS, который не работает во всех браузерах.

Надеюсь, что это поможет.