Como manter sua tabela de “flexão” no IE6 / 7
-
22-08-2019 - |
Pergunta
Eu tenho alguns dados tabulares com algumas funcionalidades a "ver detalhes" que os incêndios fora de uma chamada de ajax para anexar alguns novos elementos ao DOM (geralmente eu inserir outra TR logo após a linha selecionada e innerHTML ou anexar dentro de um TD com um colspan.
A minha pergunta é esta, no IE6 / 7 minhas colunas Flex. Atualmente eu não ter uma largura "estática" por coluna e queria evitar isso, se possível.
Todas as sugestões para evitar este "flexível"?
Solução
Este truque aqui é usar a regra table-layout:fixed
um tanto esotérico
Use-o assim:
table {table-layout:fixed}
Você também deve especificar a largura das colunas explícitas para os <td>
s.
A regra table-layout:fixed
diz "As larguras de células desta tabela depender do que eu digo, não no conteúdo real nas células". Isto é útil normalmente porque o navegador pode começar a exibir a tabela depois de ter recebido o primeiro <tr>
. Caso contrário, o navegador tem que receber a tabela inteira antes que ele possa calcular as larguras das colunas. No entanto, ele também é útil no seu caso para manter as larguras das colunas absolutos.
Outras dicas
Tabelas redimensionar dinamicamente com base no conteúdo. Essa é a sua natureza. Você pode sempre ler a largura da coluna "natural" da mesa quando ele é processado, em seguida, aplicar um estilo para bloquear em que forma antes de fazer você Ajax chamada.
Quando você diz flexível você redimensionamento média? Lembre-se que se você está alterando nada no DOM e repintar o seu vai agir semelhante a quando se tornado primeiro o item para a página. Os melhores resultados que eu vi com mesas é limpar seu recipiente, construindo a mesa, em seguida, acrescentá-lo ao recipiente.
Se você está falando sobre colunas redimensionando-se porque você não declarou larguras estáticos por meio de uma classe, estilo, ou atributo -., Em seguida, as colunas irá redimensionar-se com base em seu conteúdo