Вопрос проверяет понимание влияния CSS-свойств прозрачности на производительность рендеринга и оптимизацию анимаций.
Свойство opacity управляет прозрачностью элемента. При его изменении браузер может выполнять перерисовку (repaint) и композитинг (compositing), что требует ресурсов CPU. Если элемент не имеет аппаратного ускорения, каждое изменение opacity вызывает полную перерисовку, особенно на сложных страницах.
will-change: opacity или transform: translateZ(0), чтобы переместить элемент на отдельный слой и задействовать GPU./* Плохо: без ускорения */
.element {
opacity: 0.5;
transition: opacity 0.3s;
}
/* Хорошо: с аппаратным ускорением */
.element {
opacity: 0.5;
will-change: opacity;
transition: opacity 0.3s;
}
/* Альтернатива через transform */
.element {
transform: translateZ(0);
opacity: 0.5;
transition: opacity 0.3s;
}Используйте will-change или transform для анимаций opacity, чтобы снизить нагрузку на CPU и обеспечить плавный рендеринг. Это особенно важно для мобильных устройств и страниц с большим количеством анимированных элементов.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию