Клавиша / esc

Атрибут step

Помогает, если в поля формы можно было вводить только определённые значения.

Время чтения: меньше 5 мин

Кратко

Скопировано

Атрибут step используется в <input> для указания шага изменения значения. Он задаёт, на сколько увеличивается или уменьшается значение при вводе или при нажатии стрелок.

Как понять

Скопировано

Атрибут step можно применить к тегам <input> со следующими значениями атрибута type:

  • date, значение по умолчанию 1 день;
  • month, значение по умолчанию 1 месяц;
  • week, значение по умолчанию 1 неделя;
  • time, значение по умолчанию 60 секунд;
  • datetime-local, значение по умолчанию 1 секунда;
  • number, значение по умолчанию 1;
  • range, значение по умолчанию 1.

Значением атрибута step может быть положительное число с плавающей точкой или ключевое слово any, которое означает любое число.

Атрибут step можно использовать вместе с атрибутами:

  • min — устанавливает минимальное значение диапазона;
  • max — устанавливает максимальное значение диапазона.

Пример

Скопировано
        
          
          <label>  Число с шагом 0.5 (от 1 до 10)  <input type="number" step="0.5" min="1" max="10" value="1"></label><label>  Время с шагом 900 секунд (15 минут)  <input type="time" step="900" value="12:00"></label><label>  Дата с шагом 2 дня  <input type="date" step="2" value="2025-07-07"></label>
          <label>
  Число с шагом 0.5 (от 1 до 10)
  <input type="number" step="0.5" min="1" max="10" value="1">
</label>

<label>
  Время с шагом 900 секунд (15 минут)
  <input type="time" step="900" value="12:00">
</label>

<label>
  Дата с шагом 2 дня
  <input type="date" step="2" value="2025-07-07">
</label>

        
        
          
        
      
Открыть демо в новой вкладке

Подсказки

Скопировано

💡 Если в step указано дробное число, поставьте в min число, которое делится на этот шаг без остатка. Тогда ввод будет работать правильно и без ошибок.
💡 Чтобы пользователю было удобнее взаимодействовать с интерфейсом, к тегу <input> с атрибутом step можно указать инструкции по заполнению поля с помощью тега <label> или атрибута aria-describedby.