Chamamos de efeito zebra o ato de alternarmos as cores de plano de fundo das linhas de uma tabela. A estilização consiste em estilizar as linhas pares de uma cor e as impares de outra cor. A principal vantagem além de alterar o visual da tabela, é facilitar a compreensão e a leitura da mesma.
Conseguimos esse efeito facilmente com as folhas de estilos em cascata (CSS). Para isso basta atribuir uma classe nas linhas pares (ou impares) e estilizar a classe conforme sua necessidade. Uma grande desvantagem é fazer isso em tabelas grandes.
Outra forma de se fazer isso é com uma linguagem de programação: PHP, ASP etc.
Nesse post vou demonstrar o efeito utilizando a biblioteca jQuery.
Abaixo temos a marcação e estilização para construção de nossa tabela. Como o objetivo dessa categoria do site é a biblioteca jQuery, não farei explicações sobre tal marcação e estilização.
HTML
<table id="curso">
<caption>Tabela de cursos de graduação</caption>
<thead>
<tr>
<th scope="col">CURSO</th>
<th scope="col">PERÍODO</th>
<th scope="col">CIDADE</th>
<th scope="col">VAGAS</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="6">Estes cursos exige do aluno prova de habilidades.</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>Arquitetura e Urbanismo</td>
<td>diurno</td>
<td>São Paulo</td>
<td>50</td>
</tr>
<tr>
<td>Biblioteconomia</td>
<td>Noturno</td>
<td>Porto Alegre</td>
<td>30</td>
</tr>
<tr>
<td>Comunicação Social </td>
<td>diurno</td>
<td>Bauru</td>
<td>25</td>
</tr>
<tr>
<td>Pedagogia</td>
<td>diurno</td>
<td>São Paulo</td>
<td>50</td>
</tr>
<tr>
<td>Serviço Social</td>
<td>noturno</td>
<td>Rio de Janeiro</td>
<td>20</td>
</tr>
<tr>
<td>Turismo</td>
<td>noturno</td>
<td>Salvador</td>
<td>20</td>
</tr>
</tbody>
</table>
CSS
<style type="text/css">
table {
border-collapse:collapse;
border:solid 2px #999999;
width:600px;
margin: 0 auto;
}
thead tr th {
text-align:center;
border-bottom:solid 2px #000000;
border-left:solid 2px #000000;
}
tr td, tr th {
border:dotted 1px #999999;
}
tfoot tr td {
text-align:center;
border-top:solid 2px #000000;
}
.cor{background:red;}
.cor_{background:gold;}
</style>
Tabela com marcação e estilização

Para criar o efeito de zebra vamos utilizar os chamados pseudosseletores :even e :odd que se destinam a selecionar ocorrências pares e ímpares respectivamente de qualquer conjunto de elementos declarados.
Para nosso alvo ser mais preciso, usamos o atributo id para dar uma identificação a nossa tabela (id=”curso”).
Vamos iniciar trocando a cor das linhas pares (pseudosseletore :even).
Para isso temos que acessar o elemento tr que está dentro do elemento tbody que está dentro do identificador cursos, então escrevemos nosso script da seguinte forma.
<script type="text/javascript">
$(function(){
$('table#curso tbody tr:even').css('background','#FFFF99');
});
</script>
Resultado:

Agora o que temos que fazer é praticamente a mesma coisa para as linhas ímpares, só trocamos o pseudosseletor para odd. Veja o script completo:
<script type="text/javascript">
$(function(){
//troca fundo de linhas pares
$('table#curso tbody tr:even').css('background','#FFFF99');
//troca fundo de linhas ímpares
$('table#curso tbody tr:odd').css('background','#FFFFCC');
});
</script>
Resultado final

Podemos também fazer o efeito zebra em colunas. Para isso basta alterar os elementos tr para td (coluna).
Comentários
2 respostas para “Tabela – efeito zebra”
Muito bom, bem simples.
É mesmo Jorge … Gostei d+ também