设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间07 现在时间07 缓存数据 给自己一个目标,给自己一个希望,给自己一份爱、一份温暖,只为今天快乐,不为昨天烦恼,自己照顾好自己,我的朋友。

给自己一个目标,给自己一个希望,给自己一份爱、一份温暖,只为今天快乐,不为昨天烦恼,自己照顾好自己,我的朋友。

查看: 1040|回复: 2

CSS实现带遮罩层可关闭的弹窗效果

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:239
  • 打卡月天数:0
  • 打卡总奖励:7648
  • 最近打卡:2025-03-30 17:26:01
等级头衔

等級:晓枫资讯-上等兵

在线时间
34 小时

积分成就
威望
0
贡献
706
主题
675
精华
0
金钱
9857
积分
1446
注册时间
2023-1-15
最后登录
2025-3-30

发表于 2023-2-11 07:13:10 | 显示全部楼层 |阅读模式

实际开发中常常少不了使用弹窗,在学习css3的时候我发现可以通过纯css实现带遮罩层可关闭的弹窗。

使用CSS3实现带遮罩层可关闭的弹窗需要用到 :target伪类,::before 、::after伪元素。

实现弹窗的代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. /*关闭弹窗*/
  8. .popBox {
  9. display: none;
  10. }
  11. /*打开弹窗*/
  12. .popBox:target {
  13. align-items: center;
  14. display: flex;
  15. justify-content: center;
  16. position: absolute;
  17. left: 0;
  18. right: 0;
  19. top: 0;
  20. bottom: 0;
  21. }
  22. /*设置弹窗内容*/
  23. .popBox .con {
  24. background-color: rgba(250, 188, 199, 0.76);
  25. border-radius: 5px;
  26. padding: 1.5rem;
  27. position: relative;
  28. width: 25rem;
  29. }
  30. /*关闭按钮*/
  31. .popBox .close {
  32. display: block;
  33. position: relative;
  34. }
  35. .popBox .close::after {
  36. align-items: center;
  37. color: white;
  38. content: "×";
  39. cursor: pointer;
  40. background-color: rgba(79, 79, 79, 0.9);
  41. border-radius: 50%;
  42. display: flex;
  43. font-size: 1.25rem;
  44. justify-content: center;
  45. position: absolute;
  46. right: -2.5rem;
  47. top: -2.5rem;
  48. height: 2rem;
  49. width: 2rem;
  50. z-index: 2;
  51. }
  52. /*弹窗遮罩层*/
  53. .popBox::before {
  54. content: "";
  55. cursor: default;
  56. background-color: rgba(173, 173, 173, 0.66);
  57. position: fixed;
  58. left: 0;
  59. right: 0;
  60. top: 0;
  61. bottom: 0;
  62. }
  63. </style>
  64. </head>
  65. <body>
  66. <ul>
  67. <li><a href="#example1">案例1</a></li>
  68. <li><a href="#example2">案例2</a></li>
  69. </ul>
  70. <article class="popBox" id="example1">
  71. <div class="con">
  72. <a href="#" class="close"></a>
  73. <p>案例,就是人们在生产生活当中所经历的典型的富有多种意义的事件陈述。它是人们所经历的故事当中的有意截取。案例一般包括三大要素。案例对于人们的学习、研究、生活借鉴等具有重要意义。基于案例的教学是通过案例向人们传递有针对性的教育意义的有效载体。</p>
  74. </div>
  75. </article>
  76. <article class="popBox" id="example2">
  77. <div class="con">
  78. <a href="#" class="close"></a>
  79. <p>A case is a typical multi-meaning event statement that people experience in production and life. It is a deliberate interception of the stories people experience. Cases generally include three major elements. Cases are of great significance to people's learning, research, and life reference. Case-based teaching is an effective carrier to convey targeted educational significance to people through cases.</p>
  80. </div>
  81. </article>
  82. </body>
  83. </html>
复制代码

效果如下图片所示

081329nkc75y5fi56595iy.png

知识点补充:

点击遮罩层的背景关闭遮罩层

在模仿华为官方网页的练习当中我发现华为官网中有一个遮罩层是随便点击遮罩层的背景也能关闭掉遮罩层,但唯独点击内容区域不会关闭掉遮罩层。于是我开始模仿这个写案例,连内容也一模一样(因为这个练习就是要写出和华为关一样的效果或则比它更好的效果),一开始我是这样子写的(图1)

081330y73f3dfdlb7l7lxf.png

图1

  1. class=Select_Region_bj
复制代码
我给了一个灰色半透明的背景样式,后来在Javascript中写onclick事件无论这么写,点击内容区也是会关闭掉遮罩层。我百思不得其解到底怎么样写才能点击内容区不会关闭遮罩层,后来下课期间我看见我同学他写的带能点击内容区不会关闭遮罩层。我问他你是这么写的,他告诉我:“把他们分离就可以的了。”我思考了一会,脑补:分离?怎么分离?补着补着补着就补出了背景和内容区分离。分离写(图2)

081330gj11y5sh1hqzit17.png

图2

把背景层和内容区分开来写,不要在背景层中包裹内容,这样子点击内容区就不会关闭掉遮罩层了!

到此这篇关于CSS实现带遮罩层可关闭的弹窗效果的文章就介绍到这了,更多相关CSS遮罩层弹窗内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章,希望大家以后多多支持晓枫资讯!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
12
积分
4
注册时间
2023-7-26
最后登录
2023-7-26

发表于 2023-8-9 18:24:05 | 显示全部楼层
谢谢分享~~~~~
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
11
积分
2
注册时间
2023-6-11
最后登录
2023-6-11

发表于 2025-4-21 01:47:49 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表