If you find this helpful, please click the Google |


The <menu> Tag in HTML 5
The <menu> tag provides an easy way to create menus on a web page. It is one of the tags for interactive content in HTML. As in previous versions of HTML, a web site's menu system can be coded in XSLT templates coded in style sheets referenced from multiple web pages in order to create a cacheable site-wide menu.
Drop-Down Menu Demo
This is an actual working example of the drop-down menu example code below. It shows how to implement a drop-down menu without JavaScript. It only requires CSS, which works even if JavaScript is disabled for some reason.
<menu> Tag Syntax
Rules for coding HTML menu
elements
Child Elements of the <menu> tag
- <li> tag(s)
- The <menu> tag can contain a list of commands, similar to an unordered list.
- <button> tag(s)
- <command> tag(s)
- <select> tag(s)
<menu> Tag Attributes
Attributes of the <menu> tag
global attributes | In addition to the personal attributes of the <menu> tag below, any of the common HTML attributes can also be coded. |
label |
The label attribute |
type="context" type="toolbar" |
The type attribute is optional and indicates the type of menu. When omitted, the menu is simply a list of commands. type="context" is used to create a pop-up context menu. The user can typically display the context menu by clicking the second mouse button. type="toolbar" is used to create a tool bar. |
<menu> Tag Examples
Examples of the menu
tag in HTML 5
Menu with Radio Buttons
<menu> <li><input type="radio" name="drinks"/>Coffee</li> <li>>input type="radio" name="drinks"/>Tea</li> </menu>
Menu with Check Boxes
<menu> <li><input id="cream" type="checkbox" name="withCream"/>Cream</li> <li><input id="sugar" type="checkbox" name="withSugar"/>Sugar</li> </menu>
Select your preferred beverage and any additives:
Drop-Down Menu
(see <menu> tag demo above)
<nav style="height: 1.5em"> <style scoped="scoped"> menu[type="toolbar"], menu[type="toolbar"] * { margin: 0; padding: 0: } menu[type="toolbar"] > li { display: inline-block; vertical-align: top; border: 2px solid #000000; } menu[type="toolbar"] > li > menu { float: left; width: 8em; background-color: #cccccc; text-align: center; } menu[type="toolbar"] > li > menu:before { content: attr(label); color: #333333; } menu[type="toolbar"] > li > menu > li { position: relative; z-index: 1; background-color: #cccccc; text-align: left; display: none; -moz-transition: background-color 0.3s; -webkit-transition: background-color 0.3s } menu[type="toolbar"] > li > menu:hover > li { display: block; } menu[type="toolbar"] > li > menu:hover > li:first-child { border-top: 2px solid #000000; } menu[type="toolbar"] > li > menu > li > a { padding: 0 1em; color: #333333; text-decoration: none; } menu[type="toolbar"] > li > menu:hover, menu[type="toolbar"] > li > menu:hover:before, menu[type="toolbar"] > li > menu > li:hover, menu[type="toolbar"] > li > menu > li:hover > a { background-color: #999999; color: #000000; } </style> <menu type="toolbar"> <li> <menu label="Sections"> <li><a href="../../tutorials/">Tutorials</a></li> <li><a href="../../examples/">Examples</a></li> </menu> </li> <li> <menu label="<menu>"> <li><a href="#description">Description</a></li> <li><a href="#syntax">Syntax</a></li> <li><a href="#attributes">Attributes</a></li> <li><a href="#examples">Examples</a></li> <li><a href="#whats-new">Changes</a></li> </menu> </li> </menu> </nav>
Changes in HTML 5 - <menu> Tag
What's new in HTML 5
The <menu> tag has been redefined in HTML version 5. In addition, the label, type and global contextmenu attributes have been added.
Differences between HTML 5 and earlier versions of HTML
The <menu> tag was deprecated in HTML version 4 and has now been redefined in HTML 5. Make sure that you are using the HTML 5 definition of the <menu> tag, not a pre-HTML v4 definition.
The 2000-2010 Recommendations from the W3C HTML Working Group defined the HTML namespace for the menu element type name along with the names of all HTML element types. In older (pre-2000) versions of HTML, element type names were not associated with a namespace.