登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
2024 Web 新特性 - 使用 Popover API 创建弹窗
2024 Web 新特性 - 使用 Popover API 创建弹窗
[ 复制链接 ]
少屠
2025-6-6 15:17:37
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
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
新特性
特性
使用
相关帖子
事务的四大特性(ACID)和隔离级别
新项目为什么推荐使用WebFlux,而非SpringMVC?
Linux Mint下使用vscode编译C++代码
使用i2s遇到的问题
使用_mm_stream_si128加速 Memory-Bound
一步一步学习使用LiveBindings(15)TListView进阶使用
VUE中使用AXIOS包装API代理
K8S 中使用 YAML 安装 ECK
OpenCVSharp:学习连通性检测的使用
如何使用 vxe-gantt table 甘特图来实现多个维度视图展示
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
事务的四大特性(ACID)和隔离级别
0
830
讥慰捷
2025-12-08
业界
新项目为什么推荐使用WebFlux,而非SpringMVC?
0
927
各卧唯
2025-12-09
安全
Linux Mint下使用vscode编译C++代码
1
730
聊账
2025-12-10
安全
使用i2s遇到的问题
0
372
肇默步
2025-12-11
业界
使用_mm_stream_si128加速 Memory-Bound
1
282
卓卞恻
2025-12-11
业界
一步一步学习使用LiveBindings(15)TListView进阶使用
0
284
徙办
2025-12-12
安全
VUE中使用AXIOS包装API代理
1
529
峰邑
2025-12-12
业界
K8S 中使用 YAML 安装 ECK
0
734
全跺俚
2025-12-12
业界
OpenCVSharp:学习连通性检测的使用
0
156
颜清华
2025-12-13
代码
如何使用 vxe-gantt table 甘特图来实现多个维度视图展示
1
780
晚能
2025-12-13
回复
(1)
吉芷雁
5 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
科技
安全
代码
签约作者
程序园优秀签约作者
发帖
少屠
5 天前
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991123
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
665
XXL-TOOL v2.4.0 发布 | 布隆过滤器、Excel
686
16.结构型 - 享元模式 (Flyweight Pattern)
359
复健笔记 - Pascal酒吧的爆破
603
[Linux] 手写轻量C++函数性能探查器:CPU占
945
关于linux编译c语言文件的一些错误问题
522
推荐一种并发线程中资源同步常用方法
817
【节点】[Adjustment-ReplaceColor节点]原
663
Linux DMA开发指南(一)
207
数字电路模拟程序&课堂测验Blog
562
ROS2核心概念之动作
681
[dx12显示图片] ImGui Learn Data Day 3
615
一张图看懂AI Agent的6种模式—MAS
930
.NET 10 网络堆栈深度架构解析:HTTP/3、性
925
【有手就行】LoRA:用你自己的数据来微调大
908
sqlilab —— 32关卡
423
.NET周刊【11月第3期 2025-11-16】
913
软件逆向加密视频专用播放器是如何检测到用
362
爬虫专栏:破解网站检测selenium反爬——“
837
开源项目分享:Gitee热榜项目 2025年12月第
51
意识的自反性:知者与作者之惑