• 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>

    如有疑问,可留言!

  • 相关阅读:
    解决VM 安装Ubuntu64与 Device/Credential Guard 不兼容,显示不支持64位系统
    WPF处理内容溢出
    .NET Standard 2.0 是什麼?可以吃嗎?
    C#.Net]启动外部程序的几种常用方法汇总
    在C#中接收系统屏幕锁定和解锁的事件
    C#.Net]启动外部程序的几种常用方法汇总
    MongoDB索引的使用
    读取xml并将节点保存到Excal
    开学后的第一篇
    续并查集学习笔记——Gang团伙题解
  • 原文地址:https://www.cnblogs.com/yuanxinru321/p/7717595.html
Copyright © 2020-2023  润新知