H5对话框元素<dialog> 讲解

简介: 元素定义对话框或窗口,如点击按钮弹出的对话框、警告提示等。通过 `open` 属性控制可见性,`showModal()` 方法展示模态框。支持基本样式调整,如背景颜色和边框。兼容性详情参见 MDN 文档。

对话框元素

<dialog> HTML元素用来表示对话框或者其他交互式组件

使用场景:点击按钮 弹出对话框;警告提示信息框; 定义一个对话框、确认框或窗口...

方法:

Dialog 对象属性

属性 描述
open 设置或者返回对话窗口是否打开
returnValue 设置或者返回 dialog 的返回值

对话框默认是隐藏的,需要加上在<dialog>加上open属性

<dialog open></dialog>

Dialog 对象方法

方法 描述
close() 关闭对话窗口
show() 显示的对话框
showModal() 显示对话框,并使其成为最顶层的对话框

通过 showModel()方法来展示模态框

具体代码小demo演示:

HTML部分

<button class="btn show">显示对话框</button>
    <dialog>
        <p>我是一段测试文字用来占位置</p>
        <form method="dialog">
            <button class="btn ok" value="Yes">Yes</button>
            <button class="btn close" value="No">No</button>
        </form>
    </dialog>

CSS部分

 body {
   
   

            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        dialog {
   
   
            width: 400px;
            height: 200px;
            border-radius: 20px;
            background-color: #62656e;
        }
        /* 修改模态框的背景样式*/
        dialog::backdrop {
   
   
            background-color: rgba(0, 0, 0, 0.6);
        }

        dialog p {
   
   
            color: aliceblue;
            text-align: center;
        }

        .btn {
   
   
            display: block;
            margin: 0 auto;
            width: 150px;
            height: 50px;
            background-color: black;
            cursor: pointer;
            font-size: 16px;
            color: aliceblue;
            border-radius: 10px;
        }

        form {
   
   
            margin-top: 80px;
            display: flex;
        }

JS部分

         //1.获取dialog 元素
        let dialog = document.querySelector('dialog')
        let show = document.querySelector('.show')
        // 2.给按钮添加点击事件  点击之后
        show.addEventListener('click', () => {
   
   
        // 调用dialog身上的方法showModal() 来显示模态框
            dialog.showModal()
        })

        dialog.addEventListener('close', () => {
   
   
        // 点击确认和取消按钮 返回指定的值,这里用的close事件
            console.log(dialog.returnValue);
        })

2c0a9ca681e6494490c0b9ed9cd08f56~tplv-k3u1fbpfcp-watermark.png

兼容性请看这里: 对话框元素 - HTML(超文本标记语言) | MDN (mozilla.org)

目录
相关文章
|
iOS开发 开发者
iOS微信分享配置universal links步骤
iOS微信分享配置universal links步骤
7778 58
EMQ
|
物联网 Linux C语言
在 Windows 平台搭建 MQTT 服务
NanoMQ 有着强大的跨平台和可兼容能力,不仅可以用于以 Linux 为基础的各类平台,也为 Windows 平台提供了 MQTT 服务的新选择。
EMQ
730 240
在 Windows 平台搭建 MQTT 服务
简约404错误页面HTML源码
简约404错误页面HTML源码
432 12
|
JavaScript 安全 API
iframe嵌入页面实现免登录思路(以vue为例)
通过上述步骤,可以在Vue.js项目中通过 `iframe`实现不同应用间的免登录功能。利用Token传递和消息传递机制,可以确保安全、高效地在主应用和子应用间共享登录状态。这种方法在实际项目中具有广泛的应用前景,能够显著提升用户体验。
1833 9
|
SQL 关系型数据库 MySQL
SQL中,可以使用 `ORDER BY` 子句来实现排序功能
【10月更文挑战第26天】SQL中,可以使用 `ORDER BY` 子句来实现排序功能
1717 6
|
小程序 JavaScript
微信小程序之input组件及其获取用户输入信息
微信小程序之input组件及其获取用户输入信息
400 2
|
JavaScript
解决vue3中不支持.sync语法糖
解决vue3中不支持.sync语法糖
1100 3
HBuilderX使用uniapp中的video标签开发视频应用APP,出现视频覆盖<view>图层无法遮住等问题如何解决?
HBuilderX使用uniapp中的video标签开发视频应用APP,出现视频覆盖<view>图层无法遮住等问题如何解决?
|
前端开发 JavaScript
基于Html对父页面打开子页面Dialog()的使用
作者在使用基于QUI的前端项目中遇到一个问题:无法在Dialog组件中提交后刷新列表页面。经过搜索和努力,找到了解决方案。通过创建新的`top.Dialog()`,设置相关属性如标题、URL、尺寸,并在OK事件中调用子页面的提交方法及刷新列表的方法实现了需求。提供的代码示例展示了如何打开编辑窗体并处理提交事件以刷新列表。
362 0

热门文章

最新文章

下一篇
开通oss服务