Estilização de Tabelas HTML com CSS: Guia Completo para Iniciantes

Ao trabalhar com HTML (Linguagem de Marcação de Hipertexto) e outras linguagens de marcação, como XML, você se deparará com diversos atributos e tags. Tabelas são elementos fundamentais para facilitar a visualização, comparação e análise de grandes conjuntos de dados pelos usuários.

Através de tabelas, os usuários podem identificar rapidamente informações cruciais, conclusões ou resultados, mesmo sem precisar ler todo o conteúdo. Além disso, o CSS possibilita personalizar a aparência das suas tabelas, adaptando-as ao seu estilo.

Existem diversas razões pelas quais você pode desejar estilizar uma tabela em seu projeto:

  • Aprimoramento Visual: Tabelas padrão podem parecer monótonas e simplistas. Ao estilizar suas tabelas, você melhora a sua apresentação e as torna mais atrativas para o público.
  • Maior Acessibilidade: A personalização das tabelas contribui para que elas se tornem acessíveis, inclusive para pessoas com algum tipo de deficiência.
  • Facilidade de Leitura: Ao aplicar diferentes técnicas de estilo, você pode facilitar a compreensão dos dados apresentados nas tabelas pelos usuários.
  • Identidade da Marca: A utilização consistente de fontes e cores nas suas tabelas, em todo o seu projeto, fortalece a identidade da sua marca.
  • Otimização para Mecanismos de Busca: Organizar dados em formatos tabulares pode ser um fator positivo para melhorar o posicionamento do seu site nos resultados de pesquisa.

Criação de uma Tabela Básica com HTML

Para demonstrar o funcionamento de uma tabela em HTML, vamos criar um diretório para o projeto, acessá-lo e criar dois arquivos: um chamado ‘index.html’, onde colocaremos o código HTML, e outro nomeado ‘styles.css’, que irá armazenar nosso código CSS (estilo).

Se você quiser acompanhar, utilize os seguintes comandos:

mkdir Estilo-HTML-Tabelas

cd Estilo-HTML-Tabelas

touch index.html styles.css

Agora você tem a estrutura básica do projeto para desenvolver tabelas HTML. O objetivo é apresentar diferentes linguagens de programação, suas aplicações e exemplos de empresas que as utilizam.

Para criar uma tabela HTML, todos os dados devem ser incluídos dentro da tag <table>...</table>.

No arquivo ‘index.html’, crie a estrutura básica de um documento HTML e insira o seguinte código dentro da tag <body>:

        <table>
            <tr>
                <th>Linguagem</th>
                <th>Usos Comuns</th>
                <th>Empresas que Utilizam</th>
            </tr>
            <tr>
                <td>Java</td>
                <td>Aplicativos web, aplicativos Android, aplicações empresariais</td>
                <td>Google, Amazon, LinkedIn</td>
            </tr>
            <tr>
                <td>Python</td>
                <td>Ciência de dados, desenvolvimento web, automação</td>
                <td>Google, Dropbox, Spotify</td>
            </tr>
            <tr>
                <td>JavaScript</td>
                <td>Desenvolvimento web, desenvolvimento front-end, scripting de navegador</td>
                <td>PayPal, Facebook, Netflix</td>
            </tr>
            <tr>
                <td>C++</td>
                <td>Desenvolvimento de jogos, programação de sistemas, sistemas embarcados</td>
                <td>Tesla, Microsoft, Adobe</td>
            </tr>
            <tr>
                <td>Swift</td>
                <td>Desenvolvimento iOS, desenvolvimento macOS</td>
                <td>Apple</td>
            </tr>
            <tr>
                <td>PHP</td>
                <td>Desenvolvimento web, scripting do lado do servidor, CMSs</td>
                <td>WordPress, Wikipedia, Yahoo</td>
            </tr>
        </table>
    

Analisando essa tabela, você perceberá a existência de outras tags dentro da tag <table>: <tr>, <th> e <td>.

Essas tags têm as seguintes funções:

  • <tr>, que representa uma linha da tabela, é inserida dentro do elemento <table>. A tag <tr> pode conter um ou mais elementos <th> e <td>.
  • <th>, que indica o cabeçalho da tabela, é inserida na tag <tr>. Por padrão, seu conteúdo é exibido em negrito.
  • <td>, que representa os dados da tabela, descreve o conteúdo das células da tabela.

Ao carregar o código acima em um navegador, a tabela será exibida de forma básica, sem estilos.

Propriedades CSS para Estilizar Tabelas

A tabela que criamos está totalmente funcional, mas carece de estilo. Para personalizá-la visualmente, utilizaremos o CSS.

Lembra do arquivo ‘styles.css’ que criamos? Agora é hora de usá-lo. No entanto, primeiro, você precisa importar esse arquivo para o seu arquivo HTML para que o estilo funcione. Na seção <head> do seu documento HTML, adicione o seguinte:

Agora podemos estilizar nossa tabela de diversas formas:

#1. Borda

Podemos adicionar bordas ao redor das células da tabela. Para isso, definiremos a propriedade ‘border’ nos elementos <th> e <td>. Definiremos a borda com 2px de largura:

        th, td {
            border: 2px solid orange;
        }
    

Definimos a largura da borda como 2 pixels e a cor como laranja.

Ao carregar a página, você verá que as células agora têm bordas.

#2. Colapso de Borda

Ao analisar a imagem anterior, você pode notar que há espaços entre as bordas de cada célula. A propriedade ‘border-collapse’ define se as células adjacentes em uma tabela devem compartilhar uma borda.

Se você quiser que as células compartilhem uma borda, adicione este código ao seu arquivo CSS:

        table {
            border-collapse: collapse;
        }
    

Ao recarregar a página, as células agora compartilham as bordas.

Caso você queira que as células tenham bordas distintas, adicione este código ao arquivo CSS:

        table {
            border-collapse: separate;
        }
    

A página será exibida da seguinte forma:

#3. Espaçamento de Borda

Através da propriedade ‘border-spacing’, podemos criar um pequeno espaço entre as células da nossa tabela. Definimos a regra dentro da classe ‘table’ em nosso arquivo CSS.

Para que essa propriedade funcione, precisamos utilizar a propriedade ‘border-collapse: separate’.

Nossa classe ‘table’ pode ser definida da seguinte forma:

        table {
            border-collapse: separate;
            border-spacing: 3px;
        }
    

As bordas das células agora têm um espaço de 3px.

Ao carregar a tabela, ela será exibida assim:

#4. Layout da Tabela

A propriedade ‘table-layout’ determina a natureza da tabela. Você pode ter tabelas que sempre têm a mesma largura ou tabelas que se adaptam com base no conteúdo.

Para que as células tenham tamanhos semelhantes, podemos definir a propriedade ‘table-layout’ como ‘fixed’.

table-layout: fixed;

O código final na classe ‘table’ será:

        table {
            border-collapse: collapse;
            border-spacing: 3px;
            table-layout: fixed;
        }
    

Se quisermos que as células se adaptem ao conteúdo, podemos alterar a propriedade ‘table-layout’ para ‘auto’.

table-layout: auto;

A classe ‘table’ final em nosso código CSS será:

Observe a última célula da tabela, onde adicionei as palavras “MailChimp e muito mais”.

Agora você pode ver que as células da última linha são maiores que as demais, pois o layout da tabela é flexível e se adapta ao conteúdo.

O estilo abordado até agora se concentrou na tabela como um todo. Agora, podemos personalizar classes individuais, alterando cor de fundo, fonte e propriedades de alinhamento de texto para linhas, células ou cabeçalhos.

Podemos personalizar essas propriedades da seguinte forma:

#5. Cor de Fundo

Podemos alterar a cor de fundo da primeira linha para verde-amarelado. Para isso, utilizaremos o seletor de pseudoclasse ‘:first-child’.

Adicione este código ao seu arquivo CSS:

        tr:first-child {
            background-color: yellowgreen;
        }
    

O resultado final será:

#6. Fonte

Podemos alterar o estilo ou tamanho da fonte de linhas, colunas ou células específicas da tabela.

Vamos direcionar o conteúdo da última coluna da nossa página (“Empresas que Utilizam”) para alterar o estilo da fonte.

Colocaremos em itálico todo o conteúdo dessa coluna, utilizando o seletor de classe ‘td:last-child’. Você pode adicionar o seguinte código ao seu arquivo CSS:

        td:last-child {
            font-style: italic;
        }
    

A saída final será a seguinte:

Podemos também mudar a cor e o tamanho da fonte da primeira coluna para personalizá-la.

Adicione o seguinte código ao seu arquivo CSS:

        tr td:first-child {
            color: red;
            font-size: x-large;
            font-weight: bolder;
        }
    

Ao carregar a página, você notará que o conteúdo da primeira coluna (“Linguagem”) tem um tamanho de fonte maior, está em vermelho e em negrito.

Como Tornar a Tabela Responsiva

A tabela que criamos pode não ser responsiva em telas menores. Você pode usar as ferramentas de desenvolvedor do Chrome ou alguma ferramenta externa para testar a responsividade do seu código.

Existem diversas abordagens que você pode adotar, mas abordarei apenas uma.

Siga estes passos:

  • Defina a largura do elemento <table> em seu código:
        table {
            width: 100%;
            border-collapse: collapse;
            table-layout: fixed;
        }
    
  • Defina a quebra de palavra em <td> e <th> para que as palavras longas caibam nas células.
        th, td {
            border: 2px solid orange;
            word-break: break-word;
        }
    

Práticas Recomendadas para Estilizar Tabelas

CSS pode ser divertido, especialmente quando você o domina. Estas são algumas das práticas recomendadas para obter os melhores resultados ao estilizar suas tabelas:

  • Use uma folha de estilo externa: Optamos por utilizar uma folha externa, o que nos permite reutilizar o estilo em diferentes tabelas, reduzindo o tempo de desenvolvimento.
  • Mantenha a simplicidade: É fácil se deixar levar e exagerar no estilo das tabelas. Entretanto, mantenha sempre um design simples, com tabelas fáceis de ler e escanear.
  • Adicione bordas às tabelas: As bordas facilitam a leitura e a identificação dos dados.
  • Use cores consistentes: Se você tiver várias tabelas em suas páginas web, certifique-se de usar cores e fontes consistentes. Usar as cores da sua marca pode melhorar sua visibilidade.
  • Torne suas tabelas responsivas: Você nunca sabe o tamanho da tela dos dispositivos dos usuários finais.
  • Utilize legendas para descrever suas tabelas: A legenda descreve brevemente o conteúdo da tabela.
  • Use espaços em branco para separar as tabelas: Se várias tabelas forem exibidas em sequência, adicione espaço em branco e coloque legendas adequadamente.

Conclusão

Espero que você agora consiga criar e estilizar tabelas HTML básicas. Não abordamos tudo, já que HTML e CSS são extensos. Você pode criar tabelas menores ou maiores, dependendo dos dados que você precisa exibir.

Para aprofundar seus conhecimentos em CSS e aprender como utilizá-lo para aprimorar sua interface de usuário, consulte as folhas de dicas de CSS.