Skip to content

Como adicionar linhas internas (bordas) em uma tabela com CSS

17 de abril de 2021

Você deve ter ouvido que as tabelas CSS e HTML não combinam. Este não é o caso. Sim, o uso de tabelas HTML para layout não é mais uma prática recomendada de design da web porque foram substituídas por estilos de layout CSS, mas as tabelas ainda são a marcação correta a ser usada para adicionar dados tabulares a uma página da web. Como muitos profissionais da web evitam tabelas pensando que não são nada além de problemas, muitos desses profissionais têm pouca experiência em trabalhar com esse elemento HTML comum e têm dificuldade em adicionar linhas internas às células da tabela em uma página da web.

Bordas da tabela CSS

Lifewire / Derek Abella
Quando você usa CSS para adicionar bordas às tabelas, ele adiciona apenas a borda ao redor da parte externa da tabela. Se você deseja adicionar linhas internas às células individuais dessa tabela, é necessário adicionar bordas aos elementos CSS internos. Você pode usar a tag HR para adicionar linhas dentro de células individuais. Para aplicar os estilos abordados neste tutorial, você precisa de uma tabela em uma página da web. Em seguida, você cria uma folha de estilo como uma folha de estilo interna no cabeçalho do seu documento (se estiver lidando com apenas uma única página) ou anexada ao documento como uma folha de estilo externa (se o site tiver várias páginas). Você coloca os estilos para adicionar linhas internas à folha de estilo.

Antes que você comece

Decida onde deseja que as linhas apareçam na tabela. Você tem várias opções, incluindo:

  • Circundando todas as células para formar uma grade
  • Posicionando as linhas apenas entre as colunas
  • Apenas entre as linhas
  • Entre colunas ou linhas específicas.

Você também pode posicionar as linhas em torno de células individuais ou dentro de células individuais. Você também precisará adicionar o colapso da fronteira propriedade ao seu CSS para a sua tabela. Isso reduzirá as bordas em uma única linha entre cada célula e permitirá que as bordas das linhas da tabela funcionem corretamente. Antes de qualquer coisa, adicione o seguinte bloco ao seu CSS. tabela {
colapso da fronteira: colapso;
}

Como adicionar linhas ao redor de todas as células em uma tabela

Bordas completas da tabela CSS

Para adicionar linhas ao redor de todas as células em sua tabela, criando um efeito de grade, adicione o seguinte à sua folha de estilo:

Como adicionar linhas apenas entre as colunas de uma tabela

Tabela CSS com bordas esquerdas

Para adicionar linhas entre as colunas para criar linhas verticais que vão de cima para baixo nas colunas da tabela, adicione o seguinte à sua folha de estilo:

Tabela CSS com borda esquerda removida na primeira coluna

Se você não quiser que linhas verticais apareçam na primeira coluna, você pode usar o primeiro filho pseudoclasse para direcionar apenas os elementos que aparecem primeiro em sua linha e remover a borda. td: primeiro filho, th: primeiro filho {
borda esquerda: nenhum;
}

Como adicionar linhas apenas entre as linhas de uma tabela

Tabela CSS com bordas abaixo das linhas

Tal como acontece com a adição de linhas entre as colunas, você pode adicionar linhas horizontais entre as linhas com um estilo simples adicionado à folha de estilo, da seguinte maneira:

Tabela CSS com a borda da última linha removida

Para remover a borda da parte inferior da tabela, você usaria novamente uma pseudoclasse. Neste caso, você usaria último filho para segmentar apenas a linha final. tr: último filho {
borda inferior: nenhum;
}

Como adicionar linhas entre colunas ou linhas específicas em uma tabela

Se você deseja apenas linhas entre linhas ou colunas específicas, pode usar uma classe nessas células ou linhas. Se você preferir uma marcação um pouco mais limpa, pode usar o enésima criança pseudoclasse para selecionar linhas e colunas específicas com base em sua posição.

Tabela CSS com bordas específicas direcionadas

Por exemplo, se você deseja ter como alvo apenas a segunda coluna em cada linha, você pode usar nth-child (2) para aplicar CSS apenas ao segundo elemento em cada linha. td: enésimo filho (2), th: enésimo filho (2) {
borda esquerda: vermelho sólido 2px;
}

O mesmo se aplica às linhas. Você pode direcionar uma linha específica usando enésima criança. tr: enésimo filho (4) {
borda inferior: verde sólido 2px;
}

Como adicionar linhas ao redor de células individuais em uma tabela

Tabela CSS com célula individual direcionada

Embora você certamente possa usar pseudo classes para direcionar células individuais, a maneira mais fácil de lidar com uma situação como essa é com uma classe CSS. Para adicionar linhas ao redor das células individuais, você adiciona uma classe às células em que deseja colocar uma borda: Em seguida, adicione o seguinte CSS à sua folha de estilo:

Como adicionar linhas dentro de células individuais em uma tabela

Se você quiser adicionar linhas dentro do conteúdo de uma célula, a maneira mais fácil de fazer isso é com a marca de régua horizontal (


)

Dicas úteis

Se você preferir controlar as lacunas entre as células de sua tabela manualmente, remova a seguinte linha de antes: Este atributo é ótimo para tabelas padrão, mas é significativamente menos flexível do que CSS, pois você só pode definir a largura da borda e só pode tê-lo ao redor de todas as células da tabela ou nenhuma.