ivankprod
@ivankprod
Системный / веб fullstack-разработчик

Почему происходит задержка применения CSS?

Здравствуйте! Подскажите, почему если на странице есть iFrame, то css отрабатывает с задержкой.
Скрипты грузятся как defer и async, с ними проблем быть не должно.
Фрэйм грузится отложено по таймеру, страница грузится, не дожидаясь загрузки фрэйма.
Иллюстрация эффекта:

n0euanfoxfxsfjdc3fouqklwalc.gif
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
ae_ph
@ae_ph
I'm a owl )
iframe будут работать медленнее по тому, что для браузера есть дополнительные накладные расходы (его рендеринг, поддержка его экземпляра и ссылки на него).
Ответ из статьи
=====================================================
Иван Кулаков,
Проверьте ваш HTML документ.
Если вы указывали в <head> JavaScript и если вы его указали раньше стилей CSS тогда возможна изначальная загрузка JavaScript а затем и CSS стилей из за чего могут быть эти баги.
Нужно указывать сначало CSS стили а затем уже JavaScript код. Но в иделе конечно писать JavaScript перед закрывающим тегом </body>
Также хотелось-бы добить, чтобы вы указали ваш <title>Document</title> в низу под стилями.
6066728f7d82e434619101.jpeg

Попробуйте написать в конце HTML документа в "скрипт с пробелом" или с комментарием.
Примеры:
<script type="text/javascript"> </script>
<script type="text/javascript">//</script>


Или за место верхнего скрипта с пробелом просто добавьте пустой JS скрипт там.
6066681e0d4db105801708.jpeg

Так-же попробуйте это решение описанное в css-tricks.
Transitions только после загрузки страницы.

Цитата из w3 org

Различные вещи могут вызывать изменения вычислительных значений свойств элемента.
К ним относятся: вставка и удаление элементов из дерева документа (которые изменяют, имеют ли эти элементы вычисленные значения и могут изменять стили других элементов посредством сопоставления селекторов), изменения в дереве документа (которые вызывают изменения в том, какие селекторы соответствуют элементам), изменения на таблицы стилей или атрибуты стилей и другие вещи.
Эта спецификация не определяет, когда вычисленные значения обновляются, кроме того, что реализации не должны использовать, представлять или отображать что-либо, являющееся результатом каскадирования CSS, вычисления значений и процесса наследования.


Также перехода можно избежать, задав стили в HTML файле вместо использования CSS, которые загружаются асинхронно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы