zoukankan      html  css  js  c++  java
  • html、css和js原生写一个模态弹出框,顺便解决父元素半透明子元素不透明效果

    模态框:

    html部分:

    <!-- 按钮 -->
        <button id="box" onclick="pop_box()">弹出框</button>
        <!-- 弹出模态框 -->
        <div class="div-container" id="div-container" style="display: none;">
            <div class="div-child-container">
                <div class="div-child">
                    <span>hhhhh</span>
                    <div class="my-btn">
                        <button id="cancleBtn" onclick="cancle()">取消</button>
                        <button id="confrim" onclick="confrim()">确认</button>
                    </div>
                </div>
            </div>
        </div>

    css部分:

    <style type="text/css">
            #box{
                width: 80px;
                height: 40px;
                background: #fd7430;
                border:none;
                border-radius: 5px;
                outline: none;
                color: #fff;
            }
    
            .div-container{
                position: fixed;
                top: 0%;
                width: 100%;
                height: 100%;
                z-index:200;
                background: rgba(0,0,0,0.5) !important;/* 兼容ie几不知道,好像ie5 */
                background:#000;
                filter:Alpha(opacity=60);
            }
            /*设置div-child的父元素主要是将要此元素的父元素透明特性继承过来,故div-child不会半透明,而是不透明,解决了父元素透明,子元素也透明的bug */
            .div-child-container{
                position: relative;
                width: 400px;
                height: 200px;
                margin: auto;
                top: 30%;
                background: #fff;
                z-index: 250; /*z-index要放在父元素之上 */
            }
    
            .div-child{
                width: 400px;
                height: 200px;
                margin: auto;
                background: #fff;
                z-index: 300; /*z-index要放在父元素之上 */
                text-align: center;
            }
    
            .div-child span{
                position: relative;
                top: 40px;
            }
    
            .div-child .my-btn{
                margin-top: 80px;
            }
            .div-child .my-btn button{
                width: 80px;
                height: 40px;
                background:#fd7430;
                border: none;
                border-radius: 5px;
                color: #fff;
                outline: none;
            }
    
            .div-child .my-btn button:first-child(){
                margin-right: 20px;
            }
        </style>

    JavaScript:

    <script type="text/javascript">
            /*按钮弹出模态框*/
            function pop_box(){
                var container = document.getElementById('div-container');
                container.style.display="block";
            }
    
            /*取消事件*/
            function cancle(){
                var container = document.getElementById('div-container');
                container.style.display="none";
            }
    
            /*确认事件,因为现在没有确认事件,就将弹出框隐藏*/
            function confrim(){
                var container = document.getElementById('div-container');
                container.style.display="none";
            }
        </script>

    如有疑问,可留言!

  • 相关阅读:
    正则表达式提取/过滤字符串中的汉字
    笔记本磁盘中OEM分区的使用
    window10家庭版解决IIS中万维网服务的安全性中无Windows身份验证
    google插件跨域含用户请求WebApi解决的方案
    webApi前端ajax调用后端返回{"readyState":0,"status":0,"statusText":"error"}解决方案
    在VS的依赖项中引用项目
    无需QQ成为好友,直接启动QQ客户端聊天
    jquery点击添加样式,再次点击移除样式
    KVM管理工具 WebVirtMgr
    Proxmox VE:自建虚拟化方案
  • 原文地址:https://www.cnblogs.com/yuanxinru321/p/7717595.html
Copyright © 2011-2022 走看看