登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
2024 Web 新特性 - 使用 Popover API 创建弹窗
2024 Web 新特性 - 使用 Popover API 创建弹窗
[ 复制链接 ]
少屠
2025-6-6 15:17:37
Popover API 为开发者提供了一种声明式的方式来创建各种类型的弹窗。目前已在所有三大浏览器引擎中可用,并正式成为 Baseline 2024 的一部分。
一直以来,我们在实现弹出式菜单、提示框或信息卡片时,往往依赖于各种JavaScript库或者自定义CSS样式来完成。虽然这些方法有效,但它们通常伴随着代码冗余、兼容性问题。Popover API正是为了简化这一过程而生,它为Web开发者提供了一套标准化的方法来创建和控制弹出窗口,确保了跨浏览器的一致性和易用性。
Popover API 弹窗的一些特点如下:
弹窗将出现在页面的最顶层,无需您调整z-index。
点击弹窗区域外部将关闭弹出窗口并返回焦点。
打开弹窗后,下一个制表符停止位置将位于弹窗内部。
按下esc键或双击切换将关闭弹窗并返回焦点。
将弹窗元素与弹窗触发器进行语义上的连接。
使用 Popover API 创建一个最基础的弹窗非常简单,只需要一个button 按钮用于触发弹窗,和一个弹窗 div 元素。
首先,给弹窗 div 元素添加 popover 属性,并给它设置一个唯一 id 。
然后,在给按钮的添加popovertarget属性,值设置为弹窗的id。
代码如下:
<button popovertarget="my-popover">打开弹窗</button>
<p>我是一个包含一些信息的弹窗。 按下 <kbd>Esc</kbd> 键或点击弹窗外部将我关闭<p>
复制代码
此时一个最简单的点击按钮显示弹窗功能就实现了。
演示效果如下:
通过 popover 属性制作弹窗,基础版 - 在线演示
其中属性 popover 如果不赋值,则等同于 popover="auto"。auto值表示启用点击弹窗外部则自动关闭弹窗。如果设置popover="manual",则点击弹窗外部不会再自动关闭弹窗,此时你将需要自定义关闭按钮来触发弹窗的关闭。
例如:
<button popovertarget="my-popover" >打开弹窗</button>
<p>我是一个包含一些信息的弹窗。按下❌按钮即可将我关闭<p>
<button popovertarget="my-popover" popovertargetaction="hide">
❌
</button>
复制代码
演示效果如下:
通过 popover 属性制作弹窗,自定义关闭按钮 - 在线演示
此时,你会看到点击弹窗外部不会再自动关闭弹窗,点击自定义的关闭按钮才会关闭弹窗。
弹出窗口的 MDN 文档
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
2024
Web
新特性
特性
使用
相关帖子
Unigine使用QtWidgets制作编辑器扩展(Editor Plugin)的简单随笔
如何使用io_uring构建快速响应的I/O密集型应用?
使用OpenCvSharp , Emgu.CV 手搓 视觉识别算法 以及 成果展示
高性能场景为什么推荐使用PostgreSQL,而非MySQL?
Docker Registry 使用总结
【记录贴】使用项目管理软件管理大型复杂项目是种什么体验?
使用ITSM工具的10大优点
学习ReAct并使用langgraph实现一个简单的ReAct AI Agent!!
使用命令行删除 Windows 网络映射驱动器
全球知名的Java Web开发平台Vaadin上线慧都网!
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
Unigine使用QtWidgets制作编辑器扩展(Editor Plugin)的简单随笔
0
103
葛雅隽
2025-10-09
安全
如何使用io_uring构建快速响应的I/O密集型应用?
0
286
井晶灵
2025-10-09
业界
使用OpenCvSharp , Emgu.CV 手搓 视觉识别算法 以及 成果展示
0
454
忆雏闲
2025-10-10
业界
高性能场景为什么推荐使用PostgreSQL,而非MySQL?
0
572
判涔
2025-10-10
业界
Docker Registry 使用总结
0
449
获弃
2025-10-10
安全
【记录贴】使用项目管理软件管理大型复杂项目是种什么体验?
0
964
奄幂牛
2025-10-10
安全
使用ITSM工具的10大优点
1
889
刎唇
2025-10-10
业界
学习ReAct并使用langgraph实现一个简单的ReAct AI Agent!!
0
31
稼布欤
2025-10-10
业界
使用命令行删除 Windows 网络映射驱动器
0
462
欧阳雪枫
2025-10-11
业界
全球知名的Java Web开发平台Vaadin上线慧都网!
0
543
谲脾
2025-10-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
科技
代码
签约作者
程序园优秀签约作者
发帖
少屠
2025-6-6 15:17:37
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9998888
dage888
999994
富账慕
10007
4
匝抽
9986
5
孙淼淼
9992
6
柴古香
9993
7
筒濂
9982
8
凌彦慧
9988
9
崔瑜然
9984
10
慢秤
9979
查看更多