Propriedade border-collapse
A propriedade border-collapse faz com que
as bordas duplas entre as células td
ou células th
de uma tabela HTML
(e entre a borda da célula e a própria tabela)
se colapsem e pareçam uma só.
Esta propriedade é aplicada apenas para tabelas
e para elementos com display
no valor table ou inline-table. Para elementos
blocom comuns, infelizmente,
não funcionará. Observe que deve ser aplicada
à tabela, e não às suas células.
Sintaxe
seletor {
border-collapse: collapse | separate;
}
Valores
| Valor | Descrição |
|---|---|
collapse |
As bordas duplas parecerão uma só.
Há efeitos colaterais: a propriedade
border-spacing
e o atributo cellspacing
deixarão de funcionar.
|
separate |
Cada célula da tabela terá sua própria borda (portanto, em alguns lugares as bordas serão duplas, se o espaçamento entre as células for zero). |
Valor padrão: separate.
Exemplo . Valor separate
Agora na tabela todas as bordas são duplas (a borda é definida tanto para as células quanto para a própria tabela):
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
table {
border-collapse: separate;
width: 400px;
border-spacing: 0;
border: 1px solid red;
}
td {
border: 1px solid red;
text-align: center;
}
:
Exemplo . Valor separate
Agora a borda é definida para as células, mas não é definida para a própria tabela. Onde duas células têm uma borda comum, - as bordas serão duplas, nos outros lugares - simples:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
table {
border-collapse: separate;
width: 400px;
border-spacing: 0;
}
td {
border: 1px solid red;
text-align: center;
}
:
Exemplo . Valor collapse
Agora na tabela todas as bordas se colapsarão e
passarão a parecer com espessura de 1px, como
era desejado:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
table {
border-collapse: collapse;
width: 400px;
border: 1px solid red;
}
td {
border: 1px solid red;
text-align: center;
}
: