Нужно ли применять CSS-свойство will-change также во время изменения элемента?
Я пытаюсь использовать свойство CSS will-change вместо хака translateZ(0).
Я понимаю, что свойство должно быть применено до изменения элемента. Но я сомневаюсь, что его нужно применять и во время его изменения.
Мне интересно знать, нужно ли применять свойство до и во время перехода элемента или только до этого.
2 ответа
Вам не нужно подавать заявку will-change
в то время как соответствующее свойство CSS изменяется (или изменяется).
Основная цель will-change
должен помочь браузеру применить некоторые изменения, которые являются дорогостоящими для средства визуализации "заранее" (например, создать новый контекст стека для элемента, который изменит его opacity
а не создавать его динамически в момент, когда непрозрачность начинает меняться). Если изменение уже происходит, больше нет необходимости в такой предварительной оптимизации.
Настоящая цель свойства will-change состоит в том, чтобы предупредить браузер о том, что выбранный элемент изменится в будущих процессах, чтобы браузер мог заранее настроить соответствующие оптимизации.
Некоторые свойства не будут действовать, если они указаны в will-change, потому что браузер не выполняет никаких специальных оптимизаций для изменений в большинстве свойств. Тем не менее, все еще безопасно указывать их; это просто не будет иметь никакого эффекта. В этом случае (перевести) воля-изменение будет иметь эффект.
Рекомендуется включать и выключать изменение воли с помощью кода сценария до и после изменения, это ответ на ваш вопрос.