Кратко
СкопированоС помощью <menu>
на странице можно создать меню со списком кнопок и других интерактивных элементов. Чаще всего тег используют для вёрстки панели инструментов (тулбара).
Чтобы преобразовать какой-то список элементов в меню, просто оберните его в тег <menu>
.
Пример
СкопированоДля примера создадим меню из аккаунта пользователя. Для этого сделаем каждый пункт кнопкой, обернём в тег <li>
и вложим в тег <menu>
:
<menu> <li> <button onclick="signIn()">Войти</button> </li> <li> <button onclick="signUp()">Зарегистрироваться</button> </li></menu>
<menu> <li> <button onclick="signIn()">Войти</button> </li> <li> <button onclick="signUp()">Зарегистрироваться</button> </li> </menu>
Как понять
СкопированоТег <menu>
, как и <ul>
, объединяет неупорядоченный список элементов. Разница только в содержимом: внутри <menu>
должны быть только интерактивные элементы. Чаще всего это кнопки, по клику на которые вызываются функции. Таким образом, пользователь совершает действие или выполняет команду. В спецификации HTML тег <menu>
объясняется как альтернатива тегу <ul>
, на данный момент разницы в обработке этих двух тегов браузерами нет.
Также от тега <menu>
отличается <nav>
. Тег <nav>
группирует элементы навигации по сайту, внутри него помещаются ссылки для перехода к соответствующим разделам. <menu>
группирует действия, которые обычно относятся к одному объекту. Один из примеров — контекстное меню. Когда мы кликаем правой клавишей на выделенный текст, видим меню из команд, которые можно выполнить («скопировать», «вырезать», «вставить» и другие).
Как пишется
СкопированоТег <menu>
парный, его всегда нужно закрывать. Кроме того, тег не должен быть пустым. В качестве элемента списка меню может быть только <li>
, внутри которого уже можете использовать нужные вам элементы.
<menu>
поддерживает только глобальные атрибуты, то есть те, которые задают любому HTML-элементу.
Подсказки
Скопировано💡 По умолчанию список, созданный с помощью тега <menu>
, получает роль list
. Если хотите создать именно тулбар для группировки интерактивных элементов (контролов), используйте <div>
с ролью toolbar
.