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

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

Jinlin1年前 (2023-03-24)技术1068

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

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

分享给朋友:

相关文章

常用html编辑代码及条目的有序列表和无序列表

红头条目html代码:<section style="padding: 5px 0 5px 10px; outline: 0; display:...

打开页面后自动刷新一次以加载内容

我只是搬运工,下列内容转载于网络:打开后延时1秒刷新页面一次:<SCRIPT LANGUAGE="JavaScript">  function refresh(){ &nbs...

解决百度ueditor支持iframe框架页面的视频播放问题

新下载的ueditor 增加了xss 安全过虑,把iframe过滤了,导致发表的文章包含的视频播放功能被限制了。说明:新版本ueditor要修改 xss过滤白名单 修改配置文件ueditor.config.js ...

HTML图文内容快速另存/转换为Word文档的Docx格式的方法

HTML图文内容快速另存/转换为Word文档的Docx格式的方法

有时候,出于收集资料、收藏资料等目的,可能需要将网页上的图文内容保存下来,而且希望在有需要的时候可以对内容进行一定的编辑,那么保存为.docx的word文档会是最佳选择,那怎么才能把html网页里的图文内容快速保存为docx的word文档呢...

html页面引用video.js播放m3u8格式视频

//head里面的内容,我是采用cdn引用的方式,因为项目太小 <head> <meta charset="utf-8" /> <title>页面标题&l...