Почему Safari игнорирует атрибуты высоты строки таблицы CSS (tr) после перерисовки?

StackOverflow https://stackoverflow.com/questions/1627083

Вопрос

Я пытаюсь применить css-стиль к html-таблице, созданной GWT (Google Web Toolkit), в Safari.В частности, я не могу заставить Safari учитывать атрибут высоты строки таблицы после того, как я запускаю любую перерисовку таблицы.

Следующий базовый пример иллюстрирует проблему:

<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>

Если я открою эту страницу в Safari, она сначала отобразится правильно.Если затем я выберу «отключить стили» в меню «Разработка», а затем сразу же снова включу их, правило высоты игнорируется, и высота строки таблицы рассчитывается так, как если бы для нее было установлено значение «авто».

Именно это происходит, когда строки/ячейки программно добавляются или удаляются в моей GWT FlexTable.

Кто-нибудь знает, что вызывает такое поведение и существует ли обходной путь, который не требует установки фиксированной высоты для всей таблицы?

Подробности:Запуск Safari версии 4.0.3 (5531.9) на Mac OSX Leopard
Проблема также возникает при использовании браузера в режиме хостинга GWT (который, по сути, представляет собой Safari при запуске на Mac).

Это было полезно?

Решение

TR теги не имеют атрибута высоты в спецификациях W3C.Вам следует установить высоту TD вместо этого содержат теги, которые он содержит.

Другие советы

WebKit оптимизирован по производительности и иногда отказывается перерисовывать определенные области, если считает, что в этом нет необходимости.Возможно, вы сможете обойти это, вызвав полную перерисовку, например.изменение размера окна на 1 пиксель и обратно на 1 пиксель (должен быть какой-то более разумный способ).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top