Um recurso especialmente útil para formatar o documento é a utilização de tabelas. Para criar uma tabela usa-se o marcador:
<table align=left|center|right width=n|p% border[=n] cellspacing=n cellpadding=n bgcolor=#RRGGBB></table>
O atributo align define o alinhamento da tabela em relação à página, e não do conteúdo das células. A largura da tabela é definida pelo atributo width, e pode ser determinado em pixels ou em uma porcentagem da janela do browser. Podemos definir o uso de bordas na tabela com o atributo border, cujo valor default quando este atributo é declarado é 1 (se este atributo for omitido a tabela não terá bordas). O atributo cellspacing define o número de pixels entre o conteúdo da célula e suas bordas, e o atributo cellpadding define o número de pixels entre as células. O atributo bgcolor permite definir uma cor de fundo para a tabela. Podemos definir um título para a tabela usando o marcador:
<caption align=top|bottom>[</caption>]
O atributo align define se o título vai aparecer na parte superior (top) ou na parte inferior (bottom) da tabela. O texto delimitado por este marcador será exibido como título da tabela, normalmente centralizado e em negrito. O marcador caption deve aparecer imediatamente após o marcador table e antes das linhas da tabela. Para criar as linhas da tabela usa-se o marcador:
<tr align=left|center|right valign=top|middle|bottom|baseline bgcolor=#RRGGBB>[</tr>]
O atributo align define o alinhamento horizontal de todas as células da linha, e valign o alinhamento vertical. O alinhamento vertical baseline indica que todas as células da linha devem ter a primeira linha de texto alinhadas. O atributo bgcolor permite definir uma cor de fundo para a linha e tem precedência sobre a cor de fundo especificada para a tabela. As células são definidas com o marcador:
<td align=left|center|right valign=top|middle|bottom|baseline nowrap width=n height=n rowspan=n colspan=n bgcolor=#RRGGBB>[</td>]
Os valores de align e valign definidos para a célula têm prioridade sobre os valores definidos para a linha. Para fazer com que o texto contido na célula não seja quebrado em várias linhas deve-se declarar o atributo nowrap. Os atributos width e height permitem indicar a largura e a altura da célula, em pixels. É possível indicar que uma célula deve ocupar mais de uma linha ou mais de uma coluna, usando os atributos rowspan e colspan. O atributo bgcolor permite definir uma cor de fundo para a célula e tem precedência sobre a cor de fundo especificada para a linha ou tabela. Para definir células de cabeçalho devemos usar o marcador:
<th align=left|center|right
valign=top|middle|bottom|baseline nowrap width=n height=n
rowspan=n colspan=n bgcolor=#RRGGBB>[</th>]
Os atributos deste marcador se comportam da mesma forma que os atributos do marcador td com exceção do atributo align cujo valor default é center. Além disso o texto contido na célula é normalmente exibido em negrito. Aqui temos alguns exemplos de tabela:
Vendas de Automóveis no Varejo por Fabricante | ||
---|---|---|
Fabricante | 1995 | 1996 |
Fiat | 124.345 | 135.670 |
Ford | 74.431 | 73.575 |
General Motors | 104.569 | 115.210 |
Volkswagem | 152.340 | 169.632 |
A tabela acima foi criada com o seguinte código:
<table> <caption>Exemplo 1: Esta é uma tabela sem borda <tr> <th colspan=3>Vendas de Automóveis no Varejo por Fabricante <tr> <th align=left>Fabricante <th align=right>1995 <th align=right>1996 <tr> <td>Fiat <td align=right>124.345 <td align=right>135.670 <tr> <td>Ford <td align=right>74.431 <td align=right>73.575 <tr> <td>General Motors <td align=right>104.569 <td align=right>115.210 <tr> <td>Volkswagem <td align=right>152.340 <td align=right>169.632 </table>
Vendas de Automóveis no Varejo por Modelo | |||
---|---|---|---|
Fabricante | Marca (incluindo todos os modelos e categorias) | 1995 | 1996 |
Fiat | Tempra | 12.345 | 15.670 |
Uno | 101.275 | 105.692 | |
Ford | Fiesta | 54.888 | 63.505 |
General Motors | Corsa | 84.163 | 85.115 |
Monza | 24.732 | 19.781 | |
Vectra | 14.334 | 15.128 | |
Volkswagem | Gol | 122.300 | 129.782 |
Parati | 22.343 | 19.942 |
A tabela acima foi criada com o seguinte código:
<table align=center width=90% border=2 cellspacing=5 cellpadding=5 bgcolor=#BBFFBB> <caption align=bottom>Exemplo 2: Uma tabela mais elaborada <tr> <th colspan=4 bgcolor=aqua>Vendas de Automóveis no Varejo por Modelo <tr bgcolor=#FFCCC8> <th>Fabricante <th align=left nowrap>Marca (incluindo todos os modelos e categorias) <th align=right>1995 <th align=right>1996 <tr> <th valign=top rowspan=2 bgcolor=yellow>Fiat <td>Tempra <td align=right>12.345 <td align=right>15.670 <tr> <td>Uno <td align=right>101.275 <td align=right>105.692 <tr> <th valign=top bgcolor=lime>Ford <td>Fiesta <td align=right>54.888 <td align=right>63.505 <tr> <th valign=top rowspan=3 bgcolor=silver>General Motors <td>Corsa <td align=right>84.163 <td align=right>85.115 <tr> <td>Monza <td align=right>24.732 <td align=right>19.781 <tr> <td>Vectra <td align=right>14.334 <td align=right>15.128 <tr> <th valign=top rowspan=2 bgcolor=red>Volkswagem <td>Gol <td align=right>122.300 <td align=right>129.782 <tr> <td>Parati <td align=right>22.343 <td align=right>19.942 </table>
Usando tabelas podemos formatar o documento de maneiras que não seriam possíveis de outra forma. As células podem conter tabelas, imagens, formulários, etc. É possivel também sobrepor células usando adequadamente os atributos rowspan e colspan. Ademais, não colocando borda na tabela ela fica ainda mais adequada para o propósito de formatação. No exemplo a seguir, sobrepomos células de modo a mesclar as imagens e criamos uma tabela pequena dentro da tabela maior usada para formatar:
![]() | ||||||||||
![]() | ||||||||||
| ||||||||||
Brasil |
Esta tabela foi gerada com o seguinte código:
<table> <tr> <td width=300> <td rowspan=4 colspan=2><img src=logohome.jpg> <tr> <td align=right valign=top colspan=2><img src=brasaotr.gif width=70> <tr> <td> <div align=right> <table border> <tr> <th colspan=2>Principais Partidos <tr> <th align=left>PMDB</th> <td align=right>13 <tr> <th align=left>PSDB</th> <td align=right>10 <tr> <th align=left>PFL</th> <td align=right>9 <tr> <th align=left>PT</th> <td align=right>7 </table> </div> <tr> <td colspan=3 align=right><font size=7 color=red><b><i>Brasil</i></b> </table>
Definindo bordas para a tabela fica visível a superposição de células:
![]() | ||||||||||
![]() | ||||||||||
| ||||||||||
Brasil |