Pergunta

Eu estou lutando para aplicar css-styling para um GWT (Google Web Toolkit) tabela HTML gerado no Safari. Especificamente, eu não consigo Safari respeitar o atributo altura de uma linha da tabela depois de desencadear qualquer tipo de re-desenhar da tabela.

O seguinte exemplo básico ilustra o problema:

<html>
    <head>
        <style type="text/css">
            tr {
                height: 50px;
                font-weight: bold; /* added to prove that other style rules are re-applied when enabling css again */
            } 
        </style>
    </head>
    <body>
        <table border="1px">
            <tr>
                <td>one</td>
                <td>two</td>
                <td>three</td>
            </tr>
        </table>
    </body>
</html>

Se eu abrir esta página no Safari torna corretamente em primeiro lugar. Ora, se eu escolher "desativar estilos" no menu Desenvolver e logo em seguida reativá-los novamente, a regra heigh é ignorado e a altura da linha da tabela é calculada como se tivesse sido definida como "auto".

Este é exatamente o que acontece quando linhas / células são adicionados ou removidos através de programação no meu GWT FlexTable.

Alguém sabe o que causa esse comportamento e se há uma solução que não requer a criação de uma altura fixa em toda a mesa?

Detalhes: Correndo Safari Versão 4.0.3 (5531,9) no Mac OSX Leopard
O problema também ocorre usando o navegador Modo GWT Hospedado (que é essencialmente Safari quando executá-lo em um Mac)

Foi útil?

Solução

marcas TR não têm nenhum atributo de altura nas especificações do W3C. Você deve definir a altura das tags TD que ele contém, em seu lugar.

Outras dicas

WebKit é otimizado para desempenho e recusa-se, por vezes, para redesenhar certas áreas, se ele pensa que não precisa. Você pode ser capaz de contornar isso desencadear um redesenho total, por exemplo redimensionar a janela por 1px e 1px para trás (deve haver alguma maneira mais inteligente).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top