Skip to content

Instantly share code, notes, and snippets.

@dimensi
Created March 11, 2018 16:42
Show Gist options
  • Save dimensi/b0baa84cc1b572a9ccdfac7d501a9292 to your computer and use it in GitHub Desktop.
Save dimensi/b0baa84cc1b572a9ccdfac7d501a9292 to your computer and use it in GitHub Desktop.
Will-change свойство, когда его применять

will-change нужно юзать там, где браузеру нужно подсказать, какие свойства будут меняться (инлайн через js или pure css – не важно). это свойство, как правило, признано облегчить работу браузеру там, где используются дорогие переходы (трансформации например), и они же, в свою очередь, переходы и анимации отрабатывают не всегда гладко. указывание начального значения (если оно !== initial значению) не требуется для браузера (если это не старый хак в виде, например, принудительной 3d-трансформации translate3d(0, 0, 0) to translate3d(10px, 0, -20px) например), оно не дает понять браузеру, что будет переход, поскольку наличие стилевого правила еще не означает, что оно применится (опять же, таких блоков бывает много и сулит перегрузкой в противном случае). нужно использовать там, где операция анимирования / перехода создает доп условия (hardware acceleration, stacking context, etc), или где нужно облегчить скорость (фильтры, тени тоже дорогие операции), подсказать браузеру о том, что мы точно намерены изменить свойство

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment