dialog 必须调用 showModal() 才真正激活模态行为;仅设 open 属性或 display 无效,且需确保 DOM 加载完成、置于 body 直接子级、手动处理 backdrop 点击关闭与焦点管理。

dialog 不显示?先确认是否调用了 showModal()
写了 却完全看不到,不是 CSS 问题,是根本没“启动”它。原生 dialog 默认不渲染、不占布局、getBoundingClientRect() 返回空值——它连 DOM 绘制都跳过。
- 仅加
open属性(如)能让内容可见,但无 backdrop、不锁焦点、不响应 Esc,只是“浮层”,不是模态框 - 必须用
dialog.showModal()才真正激活模态行为;show()几乎不用,它不加遮罩、Tab 键可穿透到背景页 - 脚本执行早于 DOM 加载会报
Cannot read property 'showModal' of null:把script放在
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











