Tabela do CSS
- Página anterior Lista do CSS
- Próxima página Display CSS
O uso do CSS pode melhorar significativamente a aparência das tabelas HTML:
Company | Contact | Address | City |
---|---|---|---|
Alibaba | Ma Yun | No. 699, Wangshang Road, Binjiang District | Hangzhou |
APPLE | Tim Cook | 1 Infinite Loop Cupertino, CA 95014 | Cupertino |
BAIDU | Li YanHong | Lixiang guoji dasha, No 58, beisihuanxilu | Beijing |
Canon | Tsuneji Uchida | One Canon Plaza Lake Success, NY 11042 | New York |
Larry Page | 1600 Amphitheatre Parkway Mountain View, CA 94043 | Mountain View | |
HUAWEI | Ren Zhengfei | Putian Huawei Base, Longgang District | Shenzhen |
Microsoft | Bill Gates | 15700 NE 39th St Redmond, WA 98052 | Redmond |
Nokia | Olli-Pekka Kallasvuo | P.O. Box 226, FIN-00045 Nokia Group | Helsinki |
SONY | Kazuo Hirai | Park Ridge, NJ 07656 | Park Ridge |
Tencent | Ma Huateng | Edifício Tencent, Parque de Alta Tecnologia, Distrito de Nanshan | Shenzhen |
Borda da tabela
Para definir a borda da tabela no CSS, use border
Atributo.
O exemplo a seguir define borda preta para os elementos <table>, <th> e <td>:
Nome | Sobrenome |
---|---|
Bill | Gates |
Steve | Jobs |
O elemento de contêiner
table, th, td { border: 1px solid black; }
Atenção:A tabela do exemplo acima tem borda dupla. Isso ocorre porque a tabela e os elementos <th> e <td> têm bordas separadas.
Tabela de largura total
Em alguns casos, a tabela acima parece pequena. Se você precisar de uma tabela que cubra toda a tela (largura total), adicione width: 100% ao elemento <table>:
O elemento de contêiner
table { width: 100%; }
Borda dupla
Observe que a tabela acima tem borda dupla. Isso ocorre porque a tabela e os elementos th e td têm bordas separadas.
Para remover a borda dupla, veja o exemplo a seguir.
Fundir bordas da tabela
border-collapse
Atributo define se as bordas da tabela serão fundidas em uma única borda:
Nome | Sobrenome |
---|---|
Bill | Gates |
Steve | Jobs |
O elemento de contêiner
table { border-collapse: collapse; } table, th, td { border: 1px solid black; }
Se você quiser que haja borda apenas ao redor da tabela, é necessário especificar para <table>: border
padding
Nome | Sobrenome |
---|---|
Bill | Gates |
Steve | Jobs |
O elemento de contêiner
table { border: 1px solid black; }
Largura e altura da tabela
A largura e altura da tabela são definidas por width
e height
Definição de atributo.
O exemplo a seguir define a largura da tabela como 100% e a altura do elemento <th> como 50px:
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
O elemento de contêiner
table { width: 100%; } th { height: 50px; }
Para criar uma tabela que ocupe metade da página, use width: 50%:
O elemento de contêiner
table { width: 50%; } th { height: 70px; }
Alinhamento horizontal
text-align
Atributo define o alinhamento horizontal do conteúdo dos elementos <th> ou <td> (esquerda, direita ou centralizado).
Por padrão, o conteúdo do elemento <th> é alinhado no centro, enquanto o conteúdo do elemento <td> é alinhado à esquerda.
Para alinhar o conteúdo do elemento <td> também para o centro, use text-align: center:
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
O elemento de contêiner
th { text-align: center; }
O exemplo a seguir alinha o texto do elemento <th> para a esquerda:
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
O elemento de contêiner
th { padding: 15px; }
Alinhamento vertical
vertical-align
Atributo define o alinhamento vertical do conteúdo dos elementos <th> ou <td> (superior, inferior ou centralizado).
Por padrão, o alinhamento vertical do conteúdo da tabela é centralizado (os elementos <th> e <td> são).
O exemplo a seguir define o alinhamento vertical do texto do elemento <td> para baixo:
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
O elemento de contêiner
td { height: 50px; vertical-align: bottom; }
margem interna da tabela
margem interna da tabela Para controlar o espaçamento entre a borda e o conteúdo da tabela, use
padding
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
O elemento de contêiner
propriedade, para implementar a linha de divisão horizontal: propriedade: padding: 15px; }
text-align: left;
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
linha de divisão horizontal Adicionar ao <th> e <td>
border-bottom
O elemento de contêiner
propriedade, para implementar a linha de divisão horizontal: th, td { }
border-bottom: 1px solid #ddd;
Tabela com cursor suspenso no elemento <tr> usando
:hover
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
O elemento de contêiner
tr:hover {background-color: #f5f5f5;}
Tabela com listras
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
Para implementar o efeito de表格 com listras, use nth-child()
seletor, e adicionar ao todas as linhas de tabela pares (ou ímpares) background-color
:
O elemento de contêiner
tr:nth-child(even) {background-color: #f2f2f2;}
Cor da tabela
O exemplo a seguir especifica a cor de fundo e a cor do texto do elemento <th>:
Nome | Sobrenome | Economias |
---|---|---|
Bill | Gates | $100 |
Steve | Jobs | $150 |
Elon | Musk | $300 |
O elemento de contêiner
th { background-color: #4CAF50; color: white; }
Tabela responsiva
Se a tela for太小而无法显示全部内容,a tabela responsiva exibirá uma barra de rolagem horizontal:
Nome | Sobrenome | Points | Points | Points | Points | Points | Points | Points | Points | Points | Points |
---|---|---|---|---|---|---|---|---|---|---|---|
Bill | Gates | 50 | 50 | 50 | 50 | 50 | 50 | 50 | 50 | 50 | 50 |
Steve | Jobs | 94 | 94 | 94 | 94 | 94 | 94 | 94 | 94 | 94 | 94 |
Elon | Musk | 67 | 67 | 67 | 67 | 67 | 67 | 67 | 67 | 67 | 67 |
Adicionar ao redor do elemento <table> uma barra de rolagem com overflow-x:auto
(por exemplo <div>), para alcançar efeitos responsivos:
O elemento de contêiner
<div style="overflow-x:auto;"> <table> ... conteúdo da tabela ... </table> </div>
Notas:No OS X Lion (no Mac), a barra de rolagem está oculta por padrão e é exibida apenas quando usada (mesmo se definido "overflow:scroll").
Mais exemplos
- Fazer uma tabela estilizada
- Este exemplo demonstra como criar uma tabela estilizada.
- Definir a posição do título da tabela
- Este exemplo demonstra como posicionar o título da tabela.
propriedades de tabela CSS
propriedade | descrição |
---|---|
border | Propriedade abreviada. Define todas as propriedades de borda em uma declaração. |
border-collapse | Determinar se as bordas da tabela devem ser dobradas. |
border-spacing | Determinar a distância entre as bordas das células adjacentes. |
caption-side | Determinar a posição do título da tabela. |
empty-cells | Determinar se os bordas e o fundo devem ser exibidos nas células vazias da tabela. |
table-layout | Definir o algoritmo de layout para a tabela. |
- Página anterior Lista do CSS
- Próxima página Display CSS