Тег <button> — кнопка в HTML: type, submit і приклади
Теґ <button> створює на веб-сторінці кнопку і за своєю дією нагадує результат, одержаний за допомогою теґа <input type="text"> (з атрибутом type="button | reset | submit").
На відміну від теґа <input type="button">, теґ <button> пропонує ширші можливості по створенню кнопок. Наприклад, в кнопці можна розміщувати будь-які елементи HTML, в тому числі зображення.
Кнопка, що створена за допомогою елемента <button> може розміщуватися поза межами форми, але щоб у неї була можливість відправляти дані на сервер, необхідно, щоб кнопка розміщувалася в формі.
Ось так виглядає стандартна кнопка:
Кнопка з малюнком:
автор: NagarD
Загальний опис
автор: NagarD
- Порада
-
Використовуйте CSS стилі, щоб задати кнопці нестандартний вид, це робиться шляхом зміни шрифту, кольору тла, розмірів та інших властивостей.
автор: NagarD - Нотатка
-
Якщо ви використовуєте теґ
автор: NagarD<button>, завжди вказуйте атрибутtype, тому, що різні браузери встановлюють різні початкові значення цього атрибута.
Синтаксис
<button type="button">Кнопка</button>
| Атрибут | Опис |
|---|---|
| autofocus | Кнопка отримує фокус після завантаження сторінки. |
| disabled | Блокує кнопку. |
| form | Пов'язує кнопку з однією або декількома формами. |
| formaction | Задає адресу, на яку будуть відправлені дані форми при натисненні на кнопку. Тільки для type="submit". |
| formenctype | Спосіб кодування даних форми перед відправкою форми на сервер. |
| formmethod | Метод пересилання даних форми. Тільки для type="submit". |
| formnovalidate | Скасовує перевірку форми на коректність. Тільки для type="submit". |
| formtarget | Де відкрити відповідь сервера після надсилання форми. Тільки для type="submit". |
| name | Унікальне ім'я кнопки. |
| type | Встановлює тип кнопки: звичайна; для відправки даних форми на сервер; для очищення форми. |
| value | Початкове значення кнопки. (Буде відправлено на сервер чи прочитано за допомогою скриптів) |
| Атрибут | Опис |
|---|---|
| accesskey | Дозволяє активувати або сфокусуватись на елементі за допомогою заданого сполучення клавіш. |
| class | Визначає один або кілька класів, щоб зв’язати елемент з таблицею стилів (CSS). |
| draggable | Визначає чи можна перетягувати елемент. |
| contenteditable | Дозволяє редагувати текст в середні тегу. |
| dir | Вказує напрямок тексту. |
| dropzone | Вказує, що робити з перетягувати елементи. |
| hidden | Приховує вміст елемента від перегляду. |
| id | Задає унікальний ідентифікатор для елемента. |
| lang | Визначає основну мову вмісту елемента |
| spellcheck | Вказує браузеру перевіряти чи ні правопис і граматику в тексті елемента. |
| style | Задає вбудований (inline) CSS стиль для елемента. |
| tabindex | Встановлює порядок отримання фокусу при переході між елементами за допомогою клавіші Tab. |
| title | Вказує додаткову текстову підказку |
| translate | Повідомляє браузеру переводити вказаний текст в елементі чи ні. |
| contextmenu | Контекстне меню для елемента |
| Атрибут | Опис |
|---|---|
| onafterprint | Скрипт виконується тільки після як документ надрукований. |
| onbeforeprint | Скрипт виконується перед тим, як документ надрукований. |
| onbeforeunload | Скрипт виконується коли документ ось-ось буде вивантажений |
| onhashchange | Скрипт виконується коли там відбулися зміни до частини якоря в URL |
| onload | Викликається після того як завантаження елемента завершене. |
| onmessage | Скрипт виконується коли викликане повідомлення. |
| onoffline | Спрацьовує коли браузер починає працювати в автономному режимі |
| ononline | Спрацьовує коли браузер починає працювати в режимі онлай. |
| onpagehide | Скрипт виконується коли користувач переходить на іншу сторінку сторінку. |
| onpageshow | Скрипт виконується коли користувач заходить на сторінку. |
| onpopstate | Скрипт виконується коли змінено історію одного вікна. |
| onresize | Скрипт виконується, коли розмір вікна браузера змінюється. |
| onstorage | Скрипт виконується, коли вміст Web Storage оновлюється. |
| onunload | Викликається, коли сторінка розвантажена, або вікно браузера було зачинено. |
| onblur | Скрипт виконується, коли елемент втрачає фокус. |
| onchange | Викликається в той момент, коли значення елемента змінюється. |
| oncontextmenu | Скрипт виконується коли викликається контекстне меню. |
| onfocus | Викликається в той момент, коли елемент отримує фокус. |
| oninput | Скрипт викликається коли користувач вводить дані поле. |
| oninvalid | Скрипт виконується, коли елемент недійсний. |
| onreset | Викликається, коли натискається у формі кнопка типу Reset. |
| onsearch | Викликається, коли користувач щось пише в поле пошуку (для <input type="search">) |
| onselect | Викликаєтсья після того як будь-який текст був обраний в елементі. |
| onsubmit | Викликається при відправленні форми. |
| onkeydown | Подія викликається, коли користувач затис (натиснув та не відпускає) клавішу. |
| onkeypress | Викликається коли корисрувач натиснув на клавішу. |
| onkeyup | Викликається коли користувач відпускає клавішу. |
| onclick | Подія викликається коли користувач клацає ЛКМ по елементу. |
| ondblclick | Виникає при подвійному клацанні ЛКМ на елементі. |
| ondrag | Періодично викликається при операції перетягування. |
| ondragend | Викликається коли користувач відпускає перелягуваний елемент. |
| ondragenter | Викликається, коли перетягуваний елемент входить в цільову зону. |
| ondragleave | Викликається, коли перетягуваний елемент виходть з зони призначення. |
| ondragover | Викликається, коли перетягуваний елемент знаходиться в зоні призначення. |
| ondragstart | Викликається, коли користувач починає перетягувати елемент, або виділений текст. |
| ondrop | Викликається, коли перетягуваний елемент падає до зони призначення. |
| onmousedown | Викликається, коли користувач затискає ЛКМ на елементі. |
| onmousemove | Викликається, коли курсор миші переміщається над елементом. |
| onmouseout | Викликається, коли курсор виходить за межі елемента. |
| onmouseover | Виконується, коли курсор наводиться на елемент. |
| onmouseup | Викликається, коли користувач відпускає кнопку миші. |
| onscroll | Викликається при прокручуванні вмісту елемента (чи веб-сторінки). |
| onwheel | Викликається, коли користувач прокручує коліщатко миші. |
| oncopy | Викликається, коли користувач копіює вміст елемента. |
| oncut | Викликається, коли користувач вирізає вміст елемента. |
| onpaste | Викликається, коли користувач вставляє вміст в елемент. |
| onabort | Виконується при перериванні якоїсь події. |
| oncanplay | Скрипт виконується коли файл готовий, для початку відтворення (коли він буферизований достатньо, щоб почати відтворення) |
| oncanplaythrough | Скрипт виконується, коли контент вже може бути відтворений без переривання на буферизацію. |
| oncuechange | Скрипт виконується коли змінюється кий в <track> елемента |
| ondurationchange | Викликається коли змінюється довжина медіа файлу. |
| onemptied | Викликається коли доступ до медіа контенту обривається (зникло з’єднання з мережею). |
| onended | Викликається коли медіа елемент повністю відтворив свій зміст. |
| onshow | Викликається, коли елемент <menu> буде відображено як контекстне меню. |
| onloadedmetadata | Скрипт виконується коли метадані (розміри чи тривалість) завантажуються. |
| onloadeddata | Викликається коли медіа данні завантажено. |
| onloadstart | Викликається коли браузер тільки починає завантажувати медіа дані з сервера. |
| onpause | Викликається коли відтворення медіа даних призупинено. |
| onplay | Скрипт викликається коли медіа дані готові почати відтворення. |
| onplaying | Викликається коли розпочато відтворення медіа даних. |
| onprogress | Подія onprogress відбувається, коли браузер завантажує вказане аудіо / відео. |
| onratechange | Викликається коли змінюється швидкість відтворення медіа даних. |
| onseeked | Викликається коли атрибут seeked у тега audio або video змінює значення з true на false. |
| onseeking | Викликається коли атрибут seeking у тегів audio або video змінює значення з false на true |
| onstalled | Скрипт виконується коли браузер з будь-якої причини не може отримати медіа дані. |
| onsuspend | Скрипт виконується коли з будь-якої причини завантаження данних призупинено до його повного завантаження. |
| ontimeupdate | Викликається коли змінилася позиція відтворення елемента <audio> або <video>. |
| onvolumechange | Викликається коли змінюється гучність звуку. |
| onwaiting | Викликається коли наступний кадр при відтворенні медіа даних недоступний, але браузер очікує що він незабаром завантажиться. |
| ontoggle | Викликається, коли користувач відкриває або закриває елемент <details>. |
| onerror | Викликається якщо при завантаженні елемента сталася помилка. |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | ≤15 | 12 | ≤11 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
Приклади
+ запропонувати свій приклад у пісочниці
Власне оформлення кнопки: appearance: none прибирає системний вигляд, :focus-visible повертає видиме обведення для клавіатури, :disabled показує вимкнений стан.
HTML
<button type="button" class="btn">Зберегти</button>
<button type="button" class="btn" disabled>Вимкнена</button>
CSS
.btn {
appearance: none;
border: 0;
padding: .6rem 1.2rem;
border-radius: .4rem;
background: #2d6cdf;
color: #fff;
font: inherit;
cursor: pointer;
}
.btn:hover {
background: #2456b0;
}
.btn:focus-visible {
outline: 3px solid #ffb703;
outline-offset: 2px;
}
.btn:disabled {
background: #9aa5b1;
cursor: not-allowed;
}
HTML
<p>Приклад використання атрибута <code>button</code><p/>
<button type = "button" name = "button1" style = "width: 80px; height:50px;">
<b>Кнопка 1</b>
</button><br><br>
<button type = "button" name = "button2" style = "width: 80px; height:50px" value="" class="a1">Кнопка 2
<img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 40 40' preserveAspectRatio='none'%3E%3Crect width='40' height='40' fill='%23264653'/%3E%3Cpath d='M0 40 12 18 22 30 30 22 40 40Z' fill='%232a9d8f'/%3E%3Ccircle cx='30' cy='9' r='5' fill='%23e9c46a'/%3E%3C/svg%3E" alt = "up" width = "30" height = "30">
</button><br><br>
<button type = "button" name = "button3" style = "width: 80px; height:50px;">
<i>Кнопка 3</i>
</button><br><br>
CSS
*{
text-align: center;
}
.a1{
text-align: center;
}
Різниця між HTML 4.01 та HTML5
У HTML5 <button> отримав нові атрибути: autofocus, form, formaction, formenctype, formmethod, formnovalidate та formtarget.
Коментарі
Коментарів ще немає — будьте першим!