Переходы

Модуль 1: Web Core
12 уровень , 3 лекция
Открыта

4.1 Свойство transition

CSS-переходы (transition) позволяют анимировать изменения значений свойств CSS, создавая плавные переходы между их исходными и конечными состояниями. Это мощный инструмент, который улучшает удобство использования, добавляя динамику к веб-страницам. Рассмотрим основные аспекты переходов, включая свойства, продолжительность и функции тайминга.

Свойство transition объединяет все аспекты перехода в одно свойство. Оно может включать:

  1. Свойства, которые будут анимироваться.
  2. Продолжительность анимации.
  3. Функцию тайминга.
  4. Задержку перед началом анимации (необязательно).

Синтаксис:

    
      element {
        transition: property duration timing-function delay;
      }
    
  

Где:

  • property: свойство, к которому применяется переход (например, width, height, background-color)
  • duration: продолжительность перехода (например, 2s для двух секунд или 500ms для 500 миллисекунд)
  • timing-function: функция тайминга, определяющая скорость изменения анимации (например, ease, linear, ease-in, ease-out, ease-in-out)
  • delay: задержка перед началом перехода (например, 1s для одной секунды)

Пример:

HTML
    
      
       
   
       
   
       
   
Content
CSS
    
      .box {
        width: 100px;
        height: 100px;
        background-color: #3498db;
        transition: width 2s ease-in-out, background-color 1s ease;
      }
    
  

Объяснение кода:

  • transition: width 2s ease-in-out, background-color 1s ease: определяет два перехода: один для свойства width с продолжительностью 2 секунды и функцией тайминга ease-in-out, и другой для свойства background-color с продолжительностью 1 секунда и функцией тайминга ease

4.2 Свойства переходов

1. Свойство transition-property

Свойство transition-property определяет, к каким свойствам элемента будут применяться переходы.

Синтаксис:

    
      element {
        transition-property: property1, property2 ...;
      }
    
  

Пример:

CSS
    
      .box {
        transition-property: width, height, background-color;
      }
    
  

2. Свойство transition-duration

Свойство transition-duration задает продолжительность перехода.

Синтаксис:

    
      element {
        transition-duration: time;
      }
    
  

Пример:

CSS
    
      .box {
        transition-duration: 2s, 1s, 3s;
      }
    
  

3. Свойство transition-timing-function

Свойство transition-timing-function определяет скорость изменения анимации в течение времени.

Синтаксис:

    
      element {
        transition-timing-function: function;
      }
    
  

Пример:

CSS
    
      .box {
        transition-timing-function: ease-in, linear, ease-out;
      }
    
  

4. Свойство transition-delay

Свойство transition-delay задает задержку перед началом перехода.

Синтаксис:

    
      element {
        transition-delay: time;
      }
    
  

Пример:

CSS
    
      .box {
        transition-delay: 1s, 0s, 500ms;
      }
    
  

4.3 Продолжительность переходов

Продолжительность перехода определяет, сколько времени будет длиться анимация изменения свойства. Она задается в секундах (s) или миллисекундах (ms).

Пример:

CSS
    
      .box {
        width: 100px;
        height: 100px;
        background-color: #3498db;
        transition: width 2s, height 1s, background-color 500ms;
      }
    
  

Объяснение кода:

  • transition: width 2s, height 1s, background-color 500ms: определяет, что переход для свойства width будет длиться 2 секунды, для height — 1 секунду, а для background-color — 500 миллисекунд.

4.4 Функции тайминга

Функции тайминга определяют, как значение свойства изменяется в течение времени. Они позволяют создавать различные эффекты анимации.

Основные функции тайминга:

  • ease: анимация начинается медленно, ускоряется к середине и замедляется к концу
  • linear: анимация происходит с постоянной скоростью от начала до конца
  • ease-in: анимация начинается медленно и затем ускоряется
  • ease-out: анимация начинается быстро и затем замедляется
  • ease-in-out: анимация начинается и заканчивается медленно, ускоряется в середине

Пример:

CSS
    
      .box {
        width: 100px;
        height: 100px;
        background-color: #2ecc71;
        transition: width 2s ease-in-out, height 1s linear, background-color 500ms ease;
      }
    
  

Объяснение кода:

  • ease-in-out: плавный переход, начинающийся и заканчивающийся медленно
  • linear: переход с постоянной скоростью
  • ease: переход с медленным началом и концом, ускоряющийся к середине
1
Задача
Модуль 1: Web Core, 12 уровень, 3 лекция
Недоступна
Задержка перехода
Задержка перехода
1
Задача
Модуль 1: Web Core, 12 уровень, 3 лекция
Недоступна
Сложные переходы
Сложные переходы
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Vadim Makarenko Уровень 42
29 апреля 2025
Вопрос по второй задаче: действительно ли выбор ключевого слова "все" обеспечит ОДНОВРЕМЕННОЕ выполнение всех изменений, как требуется в задаче? Не будут ли последовательно перебираться все перечисленные свойства в соответствии с положением в коде? Относится ли указанная в условии длительность в 1,5 секунды к каждому изменению или ко всем?
25 июня 2025
all выбирать не стоит, как вы и написали, будет перебирать все значения, указывать, только то с чем работаете.
Daria Snegireva Уровень 20
24 марта 2025
В этой лекции описание функций тайминга ease и ease-in-out как будто бы одинаковое. Но они отличаются.