当前位置: 首页 > Web前端 > HTML5

一起来看看HTML5.2中新的原生元素-dialog-

时间:2023-04-05 22:24:21 HTML5

原文地址:认识新的Dialog元素作者:Keith不到一个月前,HTML5.2正式成为W3C推荐标准(REC),其中有一个新的原生模态对话框元素

,乍一看,可能会觉得它是一个新元素。不过笔者最近在玩的时候发现,这确实是一个值得期待,非常有趣的元素。在这里分享给大家。这是原生对话框最基本的例子!其中open属性表示此时dialog是可见的。如果没有打开,对话框将被隐藏。可以使用JavaScript来转换出现,此时对话框呈现如下绝对定位在页面上方,如我们所料,出现在内容上方,并且水平居中,默认和内容一样宽基本操作JavaScript有几个方法和属性可以很方便的处理对话框元素,用的最多的是showModal()和close()constmodal=document.querySelector('dialog');//使modal出现(adds`open`属性)modal.showModal();//隐藏模态(移除`open`属性)modal.close();当你使用showModal()打开对话框时,会在对话框周围添加一个阴影,以防止用户与非diglog元素进行交互,默认情况下,阴影是完全透明的,你可以使用CSS修改它按Esc来关闭对话框,也可以提供一个按钮来触发close()还有一个方法show(),也可以让对话框可见,但不像showModal(),它没有阴影,用户可以与非-对话框元素。浏览器支持和Polyfill目前只有chrome支持,Firefox需要在about:config允许dom.dialog_element.enabled正常使用。我猜,Firefox会在不久的将来支持caniuse.com。上图显示了对话框功能与主流浏览器的兼容性。幸运的是,我们可以使用dialog-polyfill来缓解这个问题。囧,它不仅提供了JavaScript行为,还包含了默认的样式,我们可以使用npm来安装,或者使用