| HTML | WebReference
- Содержание
- Синтаксис
- Закрывающий тег
- Атрибуты
- Пример
- Примечание
- Спецификация
- Браузеры
Элемент <menu> (от англ. menu — меню) предназначен для отображения списка пунктов меню. Аналогично элементам <ol> и <ul> внутри контейнера <menu> список формируется с помощью <li>.
В HTML4 элемент <menu> вышел из употребления, вместо него рекомендуется использовать <ul>. В HTML5 элемент <menu> вновь включен, но уже в другом качестве. Теперь он выступает контейнером для элемента <command> и создания меню.
Синтаксис
<menu> <li>пункт меню</li> <li>пункт меню</li> </menu>
Закрывающий тег
Обязателен.
Атрибуты
- label
- Устанавливает видимую метку для меню.
- type
- Задаёт тип меню.
Пример
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4. 01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»> <html> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> <title>MENU</title> </head> <body> <p><strong>В этом выпуске:</strong></p> <menu> <li>Русская кухня. Уха бурлацкая</li> <li>Украинская кухня. Вареники</li> <li>Молдавская кухня. Паприкаш</li> <li>Кавказская кухня. Суп-харчо</li> <li>Прибалтийская кухня. Вертиняй</li> </menu> </body> </html>Результат данного примера показан на рис. 1.
Рис. 1. Вид списка, созданного с помощью <menu>
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>MENU</title> </head> <body> <menu type=»toolbar»> <li> <menu label=»Файл»> <button type=»button»>Новый…</button> <button type=»button»>Открыть. ..</button> <button type=»button»>Сохранить</button> </menu> </li> <li> <menu label=»Правка»> <button type=»button»>Копировать</button> <button type=»button»>Вырезать</button> <button type=»button»>Вставить</button> </menu> </li> </menu> </body> </html>Примечание
Firefox поддерживает только создание контекстного меню, когда значение атрибута type равно context.
Спецификация
Спецификация | Статус |
---|---|
WHATWG HTML Living Standard | Живой стандарт |
HTML5.1 | Рекомендация |
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
Особняком стоит живой стандарт HTML (Living) — он не придерживается традиционной нумерации версий, поскольку находится в постоянной разработке и обновляется регулярно.
Браузеры
Браузеры
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
См. также
- <menuitem>
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 09.10.2018
Редакторы: Влад Мержевич
Меню | HTML
Вернёмся к примеру из прошлых уроков:
<header> <img src="/logo.png" alt="Логотип"> <!-- Логотип сайта --> <div> <!-- Меню --> <ul> <li><a href="/">Главная</a></li> <li><a href="/about">О нас</a></li> <li><a href="/contacts">Контакты</a></li> </ul> </div> </header>
В нём меню сайта размечено с помощью обычного тега <div>
с идентификатором menu
. Как известно, такое обозначение работает для разработчиков, но не для браузеров. Они не понимают, что это меню, а не просто обёртка для списка.
Для создания полноценного меню используется парный тег <nav>
, задача которого — разметить область страницы с основным меню. Также различные устройства для чтения с экрана, которыми пользуются люди со слабым зрением, используют этот тег, чтобы определить, стоит ли его отображать на странице.
Заменим <div></div>
на изученный тег <nav>
:
<header> <img src="/logo.png" alt="Логотип"> <!-- Логотип сайта --> <nav> <!-- Меню --> <ul> <li><a href="/">Главная</a></li> <li><a href="/about">О нас</a></li> <li><a href="/contacts">Контакты</a></li> </ul> </nav> </header>
Элемент nav
, как и header
не является уникальным для страницы. Его можно использовать для любого меню на странице, но есть несколько рекомендаций:
- Нет необходимости оборачивать каждое меню в элемент
nav
. В основном такой областью указываются только основные меню. Дополнительные, такие как меню в футере, не оборачивают в тег
, хотя это не запрещено - Хорошим примером дополнительного использования
nav
— навигация по текущей странице nav
может содержать не только ссылки, но так же и текст, в котором есть ссылки. Ориентируйтесь на здравый смысл. Если навигация является основной для страницы или всего сайта, то оберните её в тег<nav>
Задание
Создайте разметку «шапки» сайта. Расположите внутри картинку и меню из двух элементов. Используйте тег <nav>
и маркированный список
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно 🙄Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Полезное
Оборачивайте в элемент навигации только основные меню сайта или отдельной страницы. Дополнительные меню не нуждаются в обёртке в тег
<nav>
Навигация может быть в любой области страницы, а не только в шапке сайте
Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
&двоеточие; Элемент меню — HTML: Язык гипертекстовой разметки
HTML-элемент описан в спецификации HTML как семантическая альтернатива
, но обрабатывается браузерами (и отображается через дерево специальных возможностей) как ничем не отличающийся от
< ул>
. Он представляет собой неупорядоченный список элементов (которые представлены
элементами).
Этот элемент включает только глобальные атрибуты.
Элементы и
представляют собой неупорядоченный список элементов. Ключевое отличие состоит в том, что
в первую очередь содержит элементы для отображения, а
предназначался для интерактивных элементов. Связанный элемент
устарел.
Примечание: В ранних версиях спецификации HTML элемент имел дополнительный вариант использования в качестве контекстного меню. Эта функциональность считается устаревшей и не входит в спецификацию.
Панель инструментов
В этом примере <меню>
используется для создания панели инструментов для приложения редактирования.
HTML
<меню>
Обратите внимание, что это функционально ничем не отличается от:
CSS
меню, ул { дисплей: гибкий; стиль списка: нет; заполнение: 0; ширина: 400 пикселей; } ли { гибкий рост: 1; } кнопка { ширина: 100%; }
Результат
Категории контента | Потоковое содержание. Если дочерние элементы элемента включают хотя бы один |
---|---|
Разрешенный контент | Ноль или более вхождений |
Отсутствие тега | Нет, начальный и конечный теги обязательны. |
Разрешенные родители | Любой элемент, принимающий потоковое содержание. |
Неявная роль ARIA | список |
Разрешенные роли ARIA | каталог , группа , список , меню , меню , нет , презентация , радиогруппа , таблист , панель инструментов или дерево |
Интерфейс DOM | HTMLMenuElement |
Specification |
---|
HTML Standard # the-menu-element |
BCD tables only load in the browser
with JavaScript enabled. Включите JavaScript для просмотра данных.- Другие элементы HTML, связанные со списками:
,
и
.
Последнее изменение: , участниками MDN
Тег HTML
Элемент HTML представляет панель инструментов, состоящую из ее содержимого, в виде неупорядоченного списка элементов (представленных элементами li), каждый из которых представляет команду, которую пользователь может выполнить или активировать.
Элемент — это просто семантическая альтернатива элементу
для выражения неупорядоченного списка команд (обычно известного как «панель инструментов»).
<меню> 9Элемент 0005 указан в спецификации WHATWG HTML Living, но не в спецификации W3C HTML5.2.
Синтаксис
Тег записывается как
, а его содержимое вставляется между начальным и конечным тегами. Атрибут типа
можно использовать для указания типа объявляемого меню.
Элемент может содержать ноль или более элементов
, которые потенциально могут содержать другие <меню>
элементов.
Вот так:
<меню>
Пример
Вот пример использования тега для создания панели инструментов.
<меню>
меню> <стиль> li { стиль списка: нет; } меню { ширина: 10em; } кнопка { цвет границы: белый; заполнение: .2em; ширина: 10см; } стиль> Как уже упоминалось, он просто создает семантическую альтернативу элементу
, поэтому любые стили для панели инструментов должны выполняться с помощью CSS, и вы можете использовать язык сценариев, такой как JavaScript или JQuery, для выполнения применимого действия для каждого меню. вещь.
Атрибуты
Атрибуты могут быть добавлены к элементу HTML, чтобы предоставить больше информации о том, как элемент должен выглядеть или вести себя.
Элемент принимает следующие атрибуты.
Атрибут | Описание |
---|---|
Нет |
Глобальные атрибуты
Следующие атрибуты являются стандартными для всех элементов HTML. Поэтому вы можете использовать эти атрибуты с тегом , а также со всеми другими тегами HTML.
-
ключ доступа
-
автокапитализация
-
класс
-
контентредактируемый
-
данные-*
-
директор
-
перетаскиваемый
-
скрытый
-
идентификатор
-
режим ввода
-
это
-
идентификатор товара
-
элементпроп
-
Артикул
-
предметная область
-
тип изделия
-
язык
-
часть
-
слот
-
проверка правописания
-
стиль
-
tabindex
-
Название
-
перевод
Полное описание этих атрибутов см.