В интересной статье Everything You Need to Know About the CSS will-change Property говорится, что использование взлома translate3d()
- это старый способ делать вещи, если вы хотите аппаратное ускорение, а вместо этого вы должны использовать will-change
. Есть ли какая-либо польза в производительности при использовании will-change
? Я обнаружил, что в некоторых случаях очень сложно добавить will-change
через JavaScript непосредственно перед анимацией триггеров элементов. Например,В чем преимущество использования свойства will-change вместо translate3d для аппаратного ускорения?
- Вы не можете просто положить
will-change
в CSS и рассчитывать на его работу, потому что это будет хуже, если у вас есть несколько элементов. - Вы не можете поставить
will-change
в:hover
псевдоселектор, потому что браузеру требуется некоторое время для подготовки. - Вы оставите анимацию в событии клика, когда вы можете добавить
willChange
при наведении на JavaScript, оставляя браузер достаточно времени для подготовки (200 мс).
В целом вы должны как-то предсказывать поведение пользователей, и это сложно. Это слишком сложно (вы должны также удалить will-change
после окончания анимации) над translate3d()
. Зачем использовать его?
Оформить заказ этих двух статей, чтобы получить более подробную информацию: https://developer.mozilla.org/en/docs/Web/CSS/will-change https://css-tricks.com/almanac/properties/w/will-change/ –
Перед публикацией вопроса я прочитал все эти статьи. Проверьте мою связанную статью для уточнения моего вопроса. – Alexa
@JeremyBanks Я обновил сообщение, надеюсь, что это поможет! – Alexa