<table>
<tr>
<td>Test</td>
<td>A long string blah blah blah</td>
</tr>
</table>
<style>
td{max-width:67%;}
</style>
O acima não funciona. Como posso definir a largura máxima de uma célula da tabela usando porcentagens?
html
css
html-table
Leo Jiang
fonte
fonte
Respostas:
De acordo com a definição de largura máxima nas especificações CSS 2.1, “o efeito de 'largura mínima' e 'largura máxima' em tabelas, tabelas embutidas, células de tabela, colunas de tabela e grupos de colunas é indefinido.” Portanto, você não pode definir diretamente a largura máxima em um elemento td.
Se você quiser que a segunda coluna ocupe no máximo 67%, você pode definir a largura (que é, na verdade, a largura mínima, para células da tabela) para 33%, por exemplo, no caso de exemplo
Definir isso para ambas as colunas não funcionará muito bem, pois tende a fazer com que os navegadores dêem às colunas a mesma largura.
fonte
Uma pergunta antiga eu sei, mas agora isso é possível usando a propriedade css
table-layout: fixed
na tag da tabela. Responda abaixo a partir desta questão CSS largura percentual e estouro de texto em uma célula da tabelaIsso é feito facilmente usando
table-layout: fixed
, mas um pouco complicado porque poucas pessoas sabem sobre essa propriedade CSS.Veja-o em ação no violino atualizado aqui: http://jsfiddle.net/Fm5bM/4/
fonte
max-width
nesse jsfiddle, a largura permanecerá a mesma, então não é omax-width
que o define. Pode ficar mais claro se você substituí-lomax-width: 10%
pelo primeirotd
... você verá que ele não muda. jsfiddle.net/w3f8ey22/1Sei que isso aconteceu literalmente um ano depois, mas achei melhor compartilhar. Eu estava tentando fazer a mesma coisa e me deparei com essa solução que funcionou para mim. Definimos uma largura máxima para a tabela inteira e, em seguida, trabalhamos com os tamanhos das células para o efeito desejado.
Coloque a tabela em seu próprio div e, em seguida, defina a largura, largura mínima e / ou largura máxima do div conforme desejado para a tabela inteira. Em seguida, você pode trabalhar e definir a largura e as larguras mínimas para outras células e a largura máxima para o div trabalhando efetivamente ao redor e para trás para atingir a largura máxima que desejamos.
Então, em seus estilos, coloque:
Reconhecidamente, isso não dá a você uma largura "máxima" de uma célula por si só, mas permite algum controle que pode funcionar no lugar de tal opção. Não tenho certeza se funcionará para suas necessidades. Sei que funcionou para a nossa situação, em que queremos que o lado da navegação na página seja escalonado para cima e para baixo até um ponto, mas para todas as telas grandes hoje em dia.
fonte
a porcentagem deve ser relativa a um tamanho absoluto, tente isto:
fonte