2. CSS Transitions (Переходы)


Базовый синтаксис:

.element {
    transition: свойство длительность тайминг-функция задержка;
}

Свойства transition:

  • transition-property: Какое свойство анимировать (all, color, transform и т.д.)
  • transition-duration: Длительность анимации (0.3s, 500ms)
  • transition-timing-function: Кривая скорости
    • ease (по умолчанию) - медленно начинается, быстро в середине, медленно заканчивается
    • linear - постоянная скорость
    • ease-in - медленно начинается
    • ease-out - медленно заканчивается
    • ease-in-out - медленно начинается и заканчивается
    • cubic-bezier(x1, y1, x2, y2) - пользовательская кривая
  • transition-delay: Задержка перед началом

Пример: Анимация нескольких свойств

<style>
.box {
    width: 100px;
    height: 100px;
    background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
    transition: all 0.5s ease-in-out 0.2s;
    margin: 20px;
    border-radius: 10px;
}

.box:hover {
    transform: scale(1.2) rotate(15deg);
    background: linear-gradient(45deg, #4ecdc4, #ff6b6b);
    border-radius: 50%;
}
</style>

<div class="box"></div>