Атрибут step тега <input> — крок зміни числа


Атрибут step вказує крок зміни числа для елемента <input>.

Приклад: при step="5", цифри можуть бути -5, 0, 5, 10 і т.д.

8bef5dee7a320ea9896bee900cabcc7e.png

автор: с3с

Загальний опис

автор: NagarD

Порада

Атрибут step може бути використаний разом з атрибутами max та min для створення діапазону допустимих значень.

автор: с3с
Нотатка

Атрибут step працює з наступними input типами: number, range, date, datetime, datetime-local, month, time та week.

автор: с3с

Синтаксис

<input step="number">

Атрибут step може отримувати єдине значення:

number

Встановлює інтервал зміни числа для повзунка, чи для поля введення числа. Без задання 1

автор: с3с

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
5 16 5 ≤12.1 12 10
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 16 4

Приклади

+ запропонувати свій приклад у пісочниці

Найпростіший приклад використання HTML атрибута step теґа <input>

HTML

<form>
  <p><b>З використанням атрибута "step"</b></p>
  <p>Поточне значення повзунка</p>
  <p><input type="number" id="text"></p>
  <p> 
  <input type="range" min="0" max="100" step="5" value="0" id="range" onmousemove="f()">   
</p>
  <input type="reset" onclick ="f()">
</form>
<br><br>
<form>
  <p><b>Без використання атрибута "step"</b></p>
  <p>Поточне значення повзунка</p>
  <input type="text" id="i1"><br><br>
<input type="range" id="r1" min="0" max="100" value="0"oninput="fun1()"><br><br>
  <input type="reset" onclick ="f()">
  </form>

JS

text.innerHTML = "";
function f() {
  var range = document.getElementById("range").value;

  text.value = range;
}

function fun1() {
  var rng = document.getElementById('r1');
  var i1 = document.getElementById('i1');
  i1.value = rng.value;
}
//# sourceURL=pen.js
автор: с3с

Шість полів з однаковим кроком і різною точкою відліку. Перші два містять те саме число 2,5 і однаковий step="1", але вердикт у них протилежний — усе вирішує наявність min. Стан поля показують :valid і :invalid, тож різницю видно ще до першого кліку; спробуйте стрілочки збоку поля.

HTML

<form>
    <p class="row">
        <label for="a">step="1" value="2.5", БЕЗ min</label>
        <input id="a" type="number" step="1" value="2.5">
        <span class="verdict"></span>
        <em>точкою відліку стало саме 2,5 — число в сітці</em>
    </p>

    <p class="row">
        <label for="b">той самий крок, але з min="0"</label>
        <input id="b" type="number" step="1" min="0" value="2.5">
        <span class="verdict"></span>
        <em>відлік від нуля — 2,5 у сітку вже не влучає</em>
    </p>

    <p class="row">
        <label for="c">min="1" step="2", значення 4</label>
        <input id="c" type="number" min="1" step="2" value="4">
        <span class="verdict"></span>
        <em>дозволені 1, 3, 5 — стрілочки ходять саме по них</em>
    </p>

    <p class="row">
        <label for="d">ціна: step="0.01", значення 19.995</label>
        <input id="d" type="number" min="0" step="0.01" value="19.995">
        <span class="verdict"></span>
        <em>сотих замало на три знаки після коми</em>
    </p>

    <p class="row">
        <label for="e">step="any" — перевірки немає</label>
        <input id="e" type="number" min="0" step="any" value="2.5">
        <span class="verdict"></span>
        <em>будь-яке число вважається правильним</em>
    </p>

    <p class="row">
        <label for="f">повзунок: min="0" max="10" step="2" value="5"</label>
        <input id="f" type="range" min="0" max="10" step="2" value="5">
        <span class="verdict"></span>
        <em>повзунок не буває помилковим: 5 підтягнулося до 6, і стає він
            лише на парні позначки</em>
    </p>
</form>

CSS

.row {
    margin: 0 0 18px;
}

label {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
}

input {
    padding: 5px;
    font: inherit;
    border: 2px solid #b9c6d8;
    border-radius: 4px;
}

input:invalid {
    border-color: #d64545;
    background: #fff4f4;
}

input:valid {
    border-color: #3a9a4f;
    background: #f3fbf4;
}

input[type="range"] {
    padding: 0;
    background: none;
    vertical-align: middle;
}

.verdict {
    margin-left: 10px;
    font-weight: 600;
}

input:valid ~ .verdict::before {
    content: "правильне";
    color: #3a9a4f;
}

input:invalid ~ .verdict::before {
    content: "помилкове — форму не надіслати";
    color: #d64545;
}

em {
    display: block;
    margin-top: 4px;
    max-width: 460px;
    color: #5a6472;
    font-size: .9em;
    font-style: normal;
}
автор: NagarD

Різниця між HTML 4.01 та HTML5


Атрибут step з'явився тільки в HTML5.


Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід