当前位置:首页 > 技术 > 正文内容

HTML+CSS实现点击按钮弹出窗口提示或展示图片

Jinlin2年前 (2023-03-24)技术1604

点击一个按钮,弹出窗口进行相关提示,或者展示图片或二维码等使用,会比较方便,今天用到时在网上找了一下,找到这些例子比较好玩,记录下来备用!

JavaScript 弹窗示例:https://www.runoob.com/w3cnote/javascript-modals.html

jQuery Mobile 弹窗示例:https://www.runoob.com/jquerymobile/jquerymobile-popups.html

JavaScript 弹窗示例:https://www.runoob.com/js/js-popup.html

JavaScript 图片弹窗示例:https://www.runoob.com/w3cnote/javascript-image-modal.html


示例1:

HTML部分:

  <button id="showPopup" onclick="showPopup()">点击弹出</button>
  <div id="overlay">
    <div class="popup">
      <p class="popup_title">提示</p>
      <p class="popup_content">学会制作弹出框了吗?</p>
      <div class="popup_btn">
        <button class="cancelBtn" onclick="hidePopup()">取消</button>
        <button class="confirmBtn" onclick="hidePopup()">确认</button>
      </div>
    </div>
  </div>

CSS样式部分:

  /* 遮罩层 */
  #overlay {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    font-size: 16px;
    /* IE9以下不支持rgba模式 */
    background-color: rgba(0, 0, 0, 0.5);
    /* 兼容IE8及以下 */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);
    display: none;
  }
  /* 弹出框主体 */
  .popup {
    background-color: #ffffff;
    max-width: 400px;
    min-width: 200px;
    height: 240px;
    border-radius: 5px;
    margin: 100px auto;
    text-align: center;
  }
  /* 弹出框的标题 */
  .popup_title {
    height: 60px;
    line-height: 60px;
    border-bottom: solid 1px #cccccc;
  }
  /* 弹出框的内容 */
  .popup_content {
    height: 50px;
    line-height: 50px;
    padding: 15px 20px;
  }
  /* 弹出框的按钮栏 */
  .popup_btn {
    padding-bottom: 10px;
  }
  /* 弹出框的按钮 */
  .popup_btn button {
    color: #778899;
    width: 40%;
    height: 40px;
    cursor: pointer;
    border: solid 1px #cccccc;
    border-radius: 5px;
    margin: 5px 10px;
    color: #ffffff;
    background-color: #337ab7;
  }

JS部分:

  function showPopup(){
    var overlay = document.getElementById("overlay");
    overlay.style.display = "block";
  }
  function hidePopup(){
    var overlay = document.getElementById("overlay");
    overlay.style.display = "none";
  }

点击按钮后结果:

20230324213732.png

补充知识:关于rgba属性

rgba()属性是CSS3新增属性。rgba含义:r代表red,g代表green,b代表blue,a代表透明度。rgba(0, 0, 0, 0.5)表示透明度为0.5的黑色。

IE8及以下版本不支持rgba属性,但是支持filter属性,因此可以利用filter实现透明度。

filter属性原本是做渐变的,startColorstr与endColorstr参数值形式为#AARRGGBB,其中AA代表透明程度,RRGGBB就是颜色的十六进制代码。rgba透明值与IEfilter值对应关系如下表所示。


rgba透明度
IEfilter值
0.119
0.233
0.34C
0.466
0.57F
0.699
0.7B2
0.8C8
0.9E5




来源:https://blog.csdn.net/qq_35727582/article/details/114868023

示例2:

HTML部分:

<!-- 打开弹窗按钮 -->
<button id="myBtn">打开弹窗</button>

<!-- 弹窗 -->
<div id="myModal" class="modal">

  <!-- 弹窗内容 -->
  <div class="modal-content">
    <span class="close">&times;</span>
    <p>弹窗中的文本...</p>
  </div>

</div>

CSS部分:

/* 弹窗 (background) */
.modal {
    display: none; /* 默认隐藏 */
    position: fixed; /* 固定定位 */
    z-index: 1; /* 设置在顶层 */
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%;
    overflow: auto; 
    background-color: rgb(0,0,0); 
    background-color: rgba(0,0,0,0.4); 
}

/* 弹窗内容 */
.modal-content {
    background-color: #fefefe;
    margin: 15% auto; 
    padding: 20px;
    border: 1px solid #888;
    width: 80%; 
}

/* 关闭按钮 */
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

JS部分:

// 获取弹窗
var modal = document.getElementById('myModal');
 
// 打开弹窗的按钮对象
var btn = document.getElementById("myBtn");
 
// 获取 <span> 元素,用于关闭弹窗
var span = document.querySelector('.close');
 
// 点击按钮打开弹窗
btn.onclick = function() {
    modal.style.display = "block";
}
 
// 点击 <span> (x), 关闭弹窗
span.onclick = function() {
    modal.style.display = "none";
}
 
// 在用户点击其他地方时,关闭弹窗
window.onclick = function(event) {
    if (event.target == modal) {
        modal.style.display = "none";
    }
}

结果:

20230324221703.png


来源:https://www.runoob.com/w3cnote/javascript-modals.html

扫描二维码推送至手机访问。

版权声明:本文由 声光视趣 - lavfun.com 发布,如需转载请注明出处。

本文链接:https://www.lavfun.com/technical-forum/79.html

分享给朋友:

相关文章

iframe,object,embed标签嵌入视频后,宽高度自适应的css技巧

iframe,object,embed标签嵌入视频后,宽高度自适应的css技巧

有时网站后台发布转载文章,而文章中带有视频,这个视频通常是采用iframe方式嵌入的。如下代码:<iframe src="视频地址" frameborder="0" ...

在自己网站嵌入B站视频代码,如何禁止自动播放和如何定位播放!

在自己网站嵌入B站视频代码,如何禁止自动播放和如何定位播放!

很多人在 B站 上传视频后,都会有转发到自己网站 或 个人博客的需求,B站也提供了一键复制网站嵌入代码,可以很方便的把B站的视频,引用转发到自己需要播放该视频的网站中去。B站视频播放页,有视频分享功能,可以很方便的 一键复制分享视频 代码,...

html符号/网页特殊字符大全-依据官网整理,值得收藏

符号对应的代码tab键&Tab;换行&NewLine;&&amp; &AMP;!&excl;"&quot; &QUOT;#&num;$&dollar;...