<menu>: 菜单标签

最后更新:2026-10-13

<menu>菜单标签

表示一组命令或菜单项列表,常用于工具栏或上下文菜单,内部可放 <li> 或 <button> 等交互元素。

分类表单
内容模型流式内容
允许的父元素接受流式内容的元素
闭合标签需要 </menu> 标签
状态标准

📝 语法

<menu>
  <li><button>复制</button></li>
  <li><button>粘贴</button></li>
</menu>

⚙️ 属性

该元素支持全局属性及以下专有属性:

属性值描述
type菜单类型:toolbar(工具条,默认)或 context(右键菜单)。
label菜单的可读名称,常用于 context 菜单。

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
<menu> ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
所有主流浏览器均支持
提示: menu 与 <ul> 类似但语义是“命令列表”;浏览器对它的渲染支持不一,复杂场景可用 <ul> 替代。

❓ 常见问题

Qmenu 和 nav 有什么区别?
A两者语义相近且历史纠缠:HTML5 最终把 <menu> 定义为「工具栏/命令菜单」,与 <ul> 语义等价。站点导航用 <nav>,应用内工具栏、快捷命令列表可用 <menu>,实际项目里 menu 使用率很低。
Qmenu 可以做右键菜单吗?
A曾经可以——旧规范有 contextmenu 属性 + menu/menuitem 方案,但已被彻底废弃,所有主流浏览器都没有启用。自定义右键菜单目前只能用 JS + 自定义 DOM 实现。
Qmenu 里的条目怎么写?
A与 <ul> 相同:子项是 <li>,命令类菜单每个 li 里放 <button>(最推荐,天然可聚焦可键盘操作)。菜单容器再加 role 与 aria-label 提升无障碍表现。
更多案例即将上线,敬请期待。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏