Справочник по атрибутам HTML
Элементы в HTML имеют атрибуты; это дополнительные значения, которые настраивают элементы или изменяют их поведение различными способами для удовлетворения потребностей пользователей.
Список атрибутов
| Имя атрибута | Элементы | Описание |
|---|---|---|
accept |
<form>, <input>
| Список типов, принимаемых сервером, обычно тип файла. |
accept-charset | <form> | Список поддерживаемых наборов символов. |
accesskey | Глобальный атрибут | Горячая клавиша для активации или добавления фокуса к элементу. |
action | <form> | URI программы, обрабатывающей информацию, отправленную через форму. |
align Устаревший
| <caption>, <col>, <colgroup>, <hr>, <iframe>, <img>, <table>, <tbody>, <td>, <tfoot>, <th>, <thead>, <tr> | Устанавливает горизонтальное выравнивание элемента. |
allow | <iframe> | Определяет политику безопасности для iframe. |
alt | <area>, <img>, <input> | Альтернативный текст в случае, если изображение не может быть отображено. |
as | <link> | Определяет тип содержимого, загружаемого ссылкой. |
async | <script> | Выполняет скрипт асинхронно. |
autocapitalize | Глобальный атрибут | Устанавливает, будет ли ввод автоматически прописным при вводе пользователем. |
autocomplete | <form>, <input>, <select>, <textarea> | Указывает, могут ли элементы управления в этой форме по умолчанию иметь свои значения, автоматически заполненные браузером. |
autoplay | <audio>, <video> | Аудио или видео должно воспроизводиться как можно скорее. |
background | <body>, <table>, <td>, <th> | Указывает URL файла изображения. Примечание: Несмотря на то, что браузеры и почтовые клиенты могут по-прежнему поддерживать этот атрибут, он устарел. Используйте CSS |
bgcolor | <body>, <col>, <colgroup>, <marquee>, <table>, <tbody>, <tfoot>, <td>, <th>, <tr> | Цвет фона элемента. Примечание: Это устаревший атрибут. Пожалуйста, используйте свойство CSS |
border | <img>, <object>, <table> | Ширина рамки. Примечание: Это устаревший атрибут. Пожалуйста, используйте свойство CSS |
capture | <input> | Из спецификации Media Capture, указывает, что новый файл может быть захвачен. |
charset | <meta> | Объявляет кодировку символов страницы или скрипта. |
checked | <input> | Указывает, должен ли элемент быть отмеченным при загрузке страницы. |
cite | <blockquote>, <del>, <ins>, <q> | Содержит URI, указывающий на источник цитаты или изменения. |
class | Глобальный атрибут | Часто используется с CSS для стилизации элементов с общими свойствами. |
color |
<font>, <hr>
| Этот атрибут устанавливает цвет текста, используя имя цвета или цвет, заданный в шестнадцатеричном формате #RRGGBB. Примечание: Это устаревший атрибут. Пожалуйста, используйте свойство CSS |
cols | <textarea> | Определяет количество столбцов в textarea. |
colspan |
<td>, <th>
| Атрибут colspan определяет количество столбцов, которые должна занимать ячейка. |
content | <meta> | Значение, связанное с http-equiv или name в зависимости от контекста. |
contenteditable | Глобальный атрибут | Указывает, можно ли редактировать содержимое элемента. |
controls | <audio>, <video> | Указывает, должен ли браузер отображать элементы управления воспроизведением пользователю. |
coords | <area> | Набор значений, определяющих координаты области активной зоны. |
crossorigin | <audio>, <img>, <link>, <script>, <video> | Как элемент обрабатывает запросы из разных областей. |
csp Экспериментальный | <iframe> | Указывает политику безопасности содержимого, которой встроенный документ должен следовать при принудительном её выполнении. |
data | <object> | Указывает URL ресурса. |
data-* | Глобальный атрибут | Позволяет прикреплять пользовательские атрибуты к HTML-элементу. |
datetime | <del>, <ins>, <time> | Указывает дату и время, связанные с элементом. |
decoding | <img> | Указывает предпочтительный метод декодирования изображения. |
default | <track> | Указывает, что дорожка должна быть включена, если пользовательские настройки не указывают на что-то другое. |
defer | <script> | Указывает, что скрипт должен быть выполнен после разбора страницы. |
dir | Глобальный атрибут | Определяет направление текста. Допустимые значения ltr (Слева направо) или rtl (Справа налево) |
dirname | <input>, <textarea> | |
disabled | <button>, <fieldset>, <input>, <optgroup>, <option>, <select>, <textarea> | Указывает, может ли пользователь взаимодействовать с элементом. |
download |
<a>, <area>
| Указывает, что гиперссылка должна использоваться для загрузки ресурса. |
draggable | Глобальный атрибут | Определяет, можно ли перетаскивать элемент. |
enctype | <form> | Определяет тип содержимого данных формы, когда method метод POST. |
enterkeyhint | <textarea>, contenteditable | Атрибут enterkeyhint указывает, какая метка действия (или иконка) должна быть представлена для клавиши Enter на виртуальных клавиатурах. Атрибут может использоваться с элементами управления формой (например, с значением элементов textarea), или в элементах в редактируемом хосте (например, с помощью атрибута contenteditable). |
for | <label>, <output> | Описывает элементы, которые относятся к этому элементу. |
form | <button>, <fieldset>, <input>, <label>, <meter>, <object>, <output>, <progress>, <select>, <textarea> | Указывает форму, которой принадлежит элемент. |
formaction | <input>, <button> | Указывает действие элемента, переопределяя действие, определённое в <form>. |
formenctype | <button>, <input> | Если кнопка/поле ввода — кнопка отправки (например, type="submit"), этот атрибут устанавливает тип кодирования для использования при отправке формы. Если этот атрибут указан, он переопределяет атрибут enctype владельца формы кнопки. |
formmethod | <button>, <input> | Если кнопка/поле ввода — кнопка отправки (например, type="submit"), этот атрибут задаёт метод отправки для использования при отправке формы (GET, POST, и т. д.). Если этот атрибут указан, он переопределяет атрибут method владельца формы кнопки. |
formnovalidate | <button>, <input> | Если кнопка/поле ввода — кнопка отправки (например, type="submit"), этот булевый атрибут указывает, что форма не должна проверяться при отправке. Если этот атрибут указан, он переопределяет атрибут novalidate владельца формы кнопки. |
formtarget | <button>, <input> | Если кнопка/поле ввода — кнопка отправки (например, type="submit"), этот атрибут указывает контекст просмотра (например, вкладку, окно или фрейм), в котором нужно отобразить ответ, полученный после отправки формы. Если этот атрибут указан, он переопределяет атрибут target владельца формы кнопки. |
headers |
<td>, <th>
| Идентификаторы элементов <th> , которые применяются к этому элементу. |
height | <canvas>, <embed>, <iframe>, <img>, <input>, <object>, <video> | Указывает высоту перечисленных элементов. Для всех других элементов используйте свойство CSS |
hidden | Глобальный атрибут | Блокирует отрисовку данного элемента, сохраняя активными дочерние элементы, например, элементы скрипта. |
high | <meter> | Указывает нижнюю границу верхнего диапазона. |
href | <a>, <area>, <base>, <link> | URL связанного ресурса. |
hreflang |
<a>, <link>
| Указывает язык связанного ресурса. |
http-equiv | <meta> | Определяет директиву pragm. |
id | Глобальный атрибут | Часто используется с CSS для стилизации определенного элемента. Значение этого атрибута должно быть уникальным. |
integrity |
<link>, <script>
| Указывает значение Subresource Integrity, позволяющее браузерам проверять загружаемые ресурсы. |
intrinsicsize Устаревший | <img> | Этот атрибут сообщает браузеру игнорировать фактический размер изображения и имитировать указанный в атрибуте размер. |
inputmode | <textarea>, contenteditable | Предоставляет подсказку о типе данных, которые может ввести пользователь при редактировании элемента или его содержимого. Атрибут может использоваться с элементами управления формой (например, со значением элементов textarea), или в элементах в редактируемом хосте (например, с помощью атрибута contenteditable). |
ismap | <img> | Указывает, что изображение является частью серверной карты изображений. |
itemprop | Глобальный атрибут | |
kind | <track> | Указывает вид текстовой дорожки. |
label | <optgroup>, <option>, <track> | Указывает удобочитаемое название элемента. |
lang | Глобальный атрибут | Определяет язык, используемый в элементе. |
language Устаревший | <script> | Определяет язык сценария, используемый в элементе. |
loading |
<img>, <iframe>
| Указывает, следует ли загружать элемент лениво (loading="lazy") или сразу (loading="eager"). |
list | <input> | Идентифицирует список предварительно определенных вариантов, которые можно предложить пользователю. |
loop | <audio>, <marquee>, <video> | Указывает, следует ли начать воспроизведение медиа с начала после завершения. |
low | <meter> | Указывает верхнюю границу нижнего диапазона. |
max | <input>, <meter>, <progress> | Указывает максимальное допустимое значение. |
maxlength | <input>, <textarea> | Определяет максимальное количество символов, разрешенных в элементе. |
minlength | <input>, <textarea> | Определяет минимальное количество символов, разрешенных в элементе. |
media | <a>, <area>, <link>, <source>, <style> | Указывает подсказку о медиа, для которой был предназначен связанный ресурс. |
method | <form> | Определяет, какой метод HTTP использовать при отправке формы. Может быть GET (по умолчанию) или POST. |
min | <input>, <meter> | Указывает минимальное допустимое значение. |
multiple | <input>, <select> | Указывает, можно ли вводить несколько значений в поле ввода типа email или file. |
muted | <audio>, <video> | Указывает, будет ли аудио выключено по умолчанию при загрузке страницы. |
name | <button>, <form>, <fieldset>, <iframe>, <input>, <object>, <output>, <select>, <textarea>, <map>, <meta>, <param> | Имя элемента. Например, используется сервером для идентификации полей в отправленных формах. |
novalidate | <form> | Этот атрибут указывает, что форма не должна проверяться при отправке. |
open | <details>, <dialog> | Указывает, видимы ли содержимое (в случае элемента <details>) или диалог активен и с ним можно взаимодействовать (в случае элемента <dialog>). |
optimum | <meter> | Указывает оптимальное числовое значение. |
pattern | <input> | Определяет регулярное выражение, с которым будет проверяться значение элемента. |
ping |
<a>, <area>
| Атрибут ping задаёт список URL, о которых будет сообщено при переходе по гиперссылке. |
placeholder | <input>, <textarea> | Предоставляет подсказку пользователю о том, что можно ввести в поле. |
playsinline | <video> | Булевый атрибут, указывающий, что видео должно воспроизводиться "встроеным"; то есть, в области воспроизведения элемента. Обратите внимание, что отсутствие этого атрибута не означает, что видео всегда будет воспроизводиться во весь экран. |
poster | <video> | URL, указывающий на кадр-плакат, который отображается, пока пользователь не воспроизведёт или не переместится. |
preload | <audio>, <video> | Указывает, должен ли загружаться весь ресурс, его части или ничего. |
readonly | <input>, <textarea> | Указывает, можно ли редактировать элемент. |
referrerpolicy | <a>, <area>, <iframe>, <img>, <link>, <script> | Указывает, какой referrer отправляется при получении ресурса. |
rel | <a>, <area>, <link> | Указывает отношение целевого объекта к объекту ссылки. |
required | <input>, <select>, <textarea> | Указывает, обязательно ли заполнять этот элемент. |
reversed | <ol> | Указывает, нужно ли отображать список в обратном порядке вместо возрастающего. |
role | Глобальный атрибут | Определяет явную роль элемента для использования вспомогательными технологиями. |
rows | <textarea> | Определяет количество строк в текстовом поле. |
rowspan |
<td>, <th>
| Определяет количество строк, которое ячейка таблицы должна охватывать. |
sandbox | <iframe> | Запрещает документу, загруженному во фрейм iframe, использовать определённые функции (например, отправку форм или открытие новых окон). |
scope | <th> | Определяет ячейки, к которым относится заголовок (определённый в элементе th). |
scoped Нестандартный Устаревший | <style> | |
selected | <option> | Определяет значение, которое будет выбрано при загрузке страницы. |
shape |
<a>, <area>
| |
size | <input>, <select> | Определяет ширину элемента (в пикселях). Если атрибут элемента type имеет значение text или password, то это число символов. |
sizes | <link>, <img>, <source> | |
slot | Глобальный атрибут | Назначает слот в дереве тени shadow DOM элементу. |
span | <col>, <colgroup> | |
spellcheck | Глобальный атрибут | Указывает, разрешено ли проверка правописания для элемента. |
src | <audio>, <embed>, <iframe>, <img>, <input>, <script>, <source>, <track>, <video> | URL встраиваемого контента. |
srcdoc | <iframe> | |
srclang | <track> | |
srcset |
<img>, <source>
| Один или несколько вариантов изображения с адаптивной подгрузкой. |
start | <ol> | Определяет первое число, отличное от 1. |
step | <input> | |
style | Глобальный атрибут | Определяет стили CSS, которые переопределяют ранее заданные стили. |
summary Устаревший | <table> | |
tabindex | Глобальный атрибут | Переопределяет порядок табуляции по умолчанию браузера и следует указанному порядку. |
target | <a>, <area>, <base>, <form> | Указывает, где открыть связанный документ (в случае элемента <a> ) или где отобразить полученный ответ (в случае элемента <form>). |
title | Глобальный атрибут | Текст, отображаемый в всплывающей подсказке при наведении курсора на элемент. |
translate | Глобальный атрибут | Указывает, должны ли значения атрибутов элемента и значения дочерних узлов Text переводиться при локализации страницы или оставаться неизменными. |
type | <button>, <input>, <embed>, <object>, <ol>, <script>, <source>, <style>, <menu>, <link> | Определяет тип элемента. |
usemap | <img>, <input>, <object> | |
value | <button>, <data>, <input>, <li>, <meter>, <option>, <progress>, <param> | Определяет значение по умолчанию, которое будет отображено в элементе при загрузке страницы. |
width | <canvas>, <embed>, <iframe>, <img>, <input>, <object>, <video> | Для перечисленных элементов это устанавливает ширину элемента. |
wrap | <textarea> | Указывает, нужно ли переносить текст на новую строку. |
Содержимое против атрибутов IDL
В HTML большинство атрибутов имеют две стороны: атрибут содержимого и атрибут IDL (Interface Definition Language).
Атрибут содержимого — это атрибут, который вы задаёте из содержимого (HTML-кода), и вы можете задать или получить его с помощью element.setAttribute() или element.getAttribute(). Атрибут содержимого всегда является строкой, даже когда ожидаемое значение должно быть целым числом. Например, чтобы установить атрибут maxlength элемента <input> в 42 с помощью атрибута содержимого, вам нужно вызвать setAttribute("maxlength", "42") для этого элемента.
Атрибут IDL также известен как свойство JavaScript. Это атрибуты, которые вы можете читать или устанавливать с помощью свойств JavaScript, таких как element.foo. Атрибут IDL всегда будет использовать (но может преобразовывать) лежащий в основе атрибут содержимого, чтобы возвратить значение при получении и сохранит что-то в атрибуте содержимого при установке. Другими словами, атрибуты IDL по сути отражают атрибуты содержимого.
Большую часть времени атрибуты IDL будут возвращать значения так, как они действительно используются. Например, значение по умолчанию type для элементов <input> равно "text", поэтому, если вы установите input.type="foobar", элемент <input> будет иметь тип текста (по внешнему виду и поведению), но значение атрибута содержимого "type" будет "foobar". Однако атрибут IDL type вернёт строку "text".
Атрибуты IDL не всегда являются строками; например, input.maxlength — это число (целое со знаком). При использовании атрибутов IDL вы читаете или устанавливаете значения желаемого типа, поэтому input.maxlength всегда будет возвращать число, а при установке input.maxlength требуется число. Если вы передадите другой тип, он автоматически будет преобразован в число в соответствии со стандартными правилами JavaScript для преобразования типов.
Атрибуты IDL могут отражать другие типы, такие как беззнаковое целое, URL-адреса, логические значения и т. д. К сожалению, нет чётких правил, и поведение атрибутов IDL в сочетании с соответствующими атрибутами содержимого зависит от атрибута. Большую часть времени он будет следовать правилам, изложенным в спецификации, но иногда этого не происходит. Спецификации HTML стараются сделать это максимально удобным для разработчиков, но по различным причинам (в основном историческим) некоторые атрибуты ведут себя странно (например, select.size) и вы должны ознакомиться со спецификациями, чтобы понять, как именно они работают.
Логические атрибуты
Некоторые атрибуты содержимого (например, required, readonly, disabled) называются логическими атрибутами. Если логический атрибут присутствует, его значение равно true, а если его нет, его значение равно false.
HTML определяет ограничения на допустимые значения логических атрибутов: если атрибут присутствует, его значение должно быть либо пустой строкой (эквивалентно, атрибут может иметь неопределённое значение), либо значением, которое является регистронезависимым совпадением с каноническим именем атрибута, без ведущих и хвостовых пробелов. Вот несколько примеров корректной разметки логического атрибута:
<div itemscope>This is valid HTML but invalid XML.</div> <div itemscope=itemscope>This is also valid HTML but invalid XML.</div> <div itemscope="">This is valid HTML and also valid XML.</div> <div itemscope="itemscope"> This is also valid HTML and XML, but perhaps a bit verbose. </div>
Для ясности, значения "true" и "false" не допускаются для логических атрибутов. Чтобы представить ложное значение, атрибут должен быть полностью опущен. Это ограничение проясняет некоторые распространённые недоразумения: в случае с checked="false", атрибут checked элемента интерпретируется как true, потому что атрибут присутствует.
Атрибуты обработчиков событий
Предупреждение: Использование атрибутов обработчиков событий содержимого не рекомендуется. Смешение HTML и JavaScript часто приводит к трудно поддерживаемому коду, а выполнение атрибутов обработчиков событий также может быть заблокировано политиками безопасности контента.
Помимо атрибутов, перечисленных в таблице выше, глобальные обработчики событий, такие как onclick, также могут быть указаны в качестве атрибутов содержимого для всех элементов.
Все атрибуты обработчиков событий принимают строку. Строка используется для генерации функции JavaScript, такой как function name(/*args*/) {body}, где name — имя атрибута, а body — значение атрибута. Обработчик получает те же параметры, что и его аналог JavaScript-обработчика событий — большинство обработчиков получают только один параметр event, в то время как onerror получает пять: event, source, lineno, colno, error. Это означает, что вы можете, как правило, использовать переменную event внутри атрибута.
<div onclick="console.log(event)">Click me!</div> <!-- The synthesized handler has a name; you can reference itself --> <div onclick="console.log(onclick)">Click me!</div>
См. также
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes