Evite o alongamento das linhas de mesa com altura fixa de mesa e número variável de linhas?
-
11-09-2019 - |
Pergunta
Eu tenho uma tabela em um formulário HTML. Tem uma altura fixa por razões ópticas. O número de linhas na tabela varia dependendo do número de campos de formulário disponíveis.
Problema: se houver muito poucas linhas, todas as linhas são esticadas verticalmente, aumentando o espaço entre os elementos de entrada.
Eu poderia evitar isso dando às linhas de dados uma altura fixa (falsa). Não gosto dessa abordagem porque não há altura fixa que eu possa dar (tamanhos de fontes relativos, acessibilidade) e temo que problemas futuros - digamos, por exemplo, que o IE9 decide tomar alturas de células literalmente.
O que posso fazer? Eu tenho uma última linha (vazia), mas não tenho idéia do que colocar lá para que ela ocupe automaticamente o espaço "disponível".
Solução 3
Eu acho que isso não é factível.
Outras dicas
Coloque a tabela sem altura em uma div com uma altura fixa que imita a tabela (borda? Bgcolor?).
A propósito, apenas fazendo tbody { display: inline; }
Em vez de uma linha vazia funciona em todos os navegadores reais. Não, não em MSIE. o tbody
O elemento tem muitas deficiências em MSIE. Também não tem a capacidade de overflow: scroll;
O que seria ótimo ter uma tabela rolável com um cabeçalho fixo.
Você não poderia definir a altura da célula para 100% para a última linha vazia, isso deve presumivelmente fazer com que essa última linha ocupe o restante do espaço fixo
Sim, os sites baseados em tabela estão além das idades, mas você ainda precisaria de tabelas para exibir dados. Na verdade, tenho que concordar com Pekka que isso não é factível na própria célula da mesa, mas há algo que podemos modelar:
Tente envolver os dados dentro do td
célula em um div
e estilo isso div
para a altura que você deseja e defina seu overflow
propriedade para hidden
.