CSS Theory Flashcards
Какие две главные проблемы производительности сайтов?
1) проблема скорости сети
2) проблема однопоточности браузеров
Из каких шагов состоит процесс отображения страницы?
1) Разбор HTML и построение DOM дерева
2) Получение внешних ресурсов в фоновом режиме
3) Разбор CSS и создание CSSOM
4) Выполнение JavaScript
5) Объединение DOM и CSSOM, для построения дерево рендеринга
6) Компоновка (layout) и отрисовка (paint) результата
Что может заблокировать загрузку страницы?
css блокирует рендеринг, но не парсинг
script без async или defer, блокирует парсинг
Что такое дерево рендеринга?
Это комбинирование DOM и CSSOM в дерево, содержащее все видимые узлы с их содержимым и вычисленными стилями
Для чего нужен атрибут async и defer?
script — отрисовка HTML блокируется, скрипт извлекается и выполняется немедленно, отрисовка HTML возобновляется после окончания выполнения скрипта
script async — скрипт будет извлечен и обработан параллельно с отрисовкой HTML, его выполнение закончится как только это будет возможно (обычно до того, как закончилась отрисовка HTML). Используйте async тогда, когда скрипт не зависит от других скриптов на странице, например для аналитики.
script defer — скрипт будет извлечен параллельно с отрисовкой HTML, его выполнение произойдет после того, как вся страница будет загружена. Если таких скриптов несколько, то каждый из них будет исполнятся в том порядке, в котором они расположены в документе. Если скрипту нужен полностью распарсеный DOM, то атрибут defer обеспечит уверенность в том, что на момент отработки скрипта весь HTML отрисован. Нет особой разницы со скриптами, расположенными перед тегом . Отложенный скрипт не должен содержать document.write.
Почему CSS блокирует рендеринг?
Потому, что до тех пор, пока весь CSS не будет проанализирован и не будет построен CSSOM, браузер не может знать, где и как разместить каждый элемент на экране
Как пометить важность ресурса для рендеринга?
rel=”preload”
В чем отличие фильтров от декоративных свойств?
Фильтры используют аппаратное ускорение, что улучшает производительность
Как применяются фильтры при загрузке страницы?
Применяются до отрисовки элемента и поэтому влияют на загрузку
Как задать диагональный градиент?
background-image: linear-gradient(to right top, yellow, green)
или
background-image: linear-gradient(45deg, yellow, green);
Отличие диагональных градиентов?
Заданные спомощью градусов, независят отформы контейнера, адиагональные градиенты зависят. Диагональные градиенты всегда остаются привязанными ксвоим углам
Что такое колорстоп в градиенте?
Место, где будет располагаться центральная (самая насыщенная) часть цвета.
Как выбрать пустые элементы?
:empty
Что такое приоритет стилей?
Правило применения стилей в зависимости от типа селектора
- элемент, псевдоэлемент
- класс, псевдокласс, атрибут
- id
- inline
- !important
Универсальный селектор (*), комбинаторы (+, >, ~, ‘ ‘) и отрицающий псевдокласс (:not()) не влияют на специфичность. (Однако селекторы, объявленные внутри :not(), влияют)
Что такое каскад в CSS?
Механизм языка, позволяющий применять к элементу более чем одно правило