Tenho uma tabela com muitas linhas em minha página. Gostaria de definir a altura da mesa, digamos, 500px, de forma que, se a altura da mesa for maior do que isso, uma barra de rolagem vertical aparecerá. Tentei usar o height
atributo CSS no table
, mas não funcionou.
css
css-tables
Misha Moroshko
fonte
fonte
max-height
vez de apenasheight
como o último forçará a altura da mesa a ser500px
Respostas:
Tente usar a
overflow
propriedade CSS. Existem também propriedades separadas para definir o comportamento apenas de estouro horizontal (overflow-x
) e estouro vertical (overflow-y
).Como você deseja apenas a rolagem vertical, tente o seguinte:
EDITAR:
Aparentemente, os
<table>
elementos não respeitam aoverflow
propriedade. Isso parece ser porque os<table>
elementos não são renderizados comodisplay: block
padrão (na verdade, eles têm seu próprio tipo de exibição). Você pode forçar aoverflow
propriedade a funcionar definindo o<table>
elemento como um tipo de bloco:Observe que isso fará com que o elemento tenha 100% de largura, então, se você não quiser que ele ocupe toda a largura horizontal da página, você também precisa especificar uma largura explícita para o elemento.
fonte
display:block
na mesa para fazê-lo se comportar como umdiv
jsfiddle.net/TSGSA/1Você precisa envolver a tabela dentro de outro elemento e definir a altura desse elemento. Exemplo com css inline:
fonte
display:table;
suas linhasdisplay:table-row;
e suas células,display:table-cell;
e as duas tabelas irão se combinar e parecerem ser uma. (NOTA: isso não funciona com tabelas muito grandes; basicamente, combina-as quando pode. Usei essa técnica várias vezes.)para definir a altura da tabela, você precisa primeiro definir a propriedade css "display: block" e depois adicionar as propriedades "width / height". Acho este artigo Mozilla um recurso muito bom para aprender como estilizar tabelas: Link
fonte