Выбор ответа Middle Анимации обновлено

Чем опасен will-change на всех элементах

Вопрос

Разработчик добавил в глобальные стили * { will-change: transform; }, чтобы «всё летало». Что не так?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Браузер может создать слой на каждый элемент, память растёт и всё тормозит. will-change подсказывает браузеру подготовить элемент к изменению, обычно выносом в отдельный композитный слой.

Варианты ответа

  1. Ничего: так браузер заранее оптимизирует все анимации на странице
  2. will-change работает только на position: absolute, остальное проигнорирует
  3. Свойство устарело и не поддерживается в Safari, там всё будет дёргаться
  4. Браузер может создать слой на каждый элемент, память растёт и всё тормозитправильный ответ

Разбор

will-change подсказывает браузеру подготовить элемент к изменению, обычно выносом в отдельный композитный слой. Слой стоит памяти GPU, и тысячи слоёв дают обратный эффект. Ставят его точечно, перед анимацией, и снимают после. Ограничения на position у свойства нет, и оно поддерживается всеми основными браузерами.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме