zoukankan      html  css  js  c++  java
  • 网页页面蒙版实现

    做手机端网页的时候,设计师做了这样一张图:

     

    这个页面除了底层的布局,主要的工作是蒙版的实现,这种特效很常见到,淘宝改版的时候会弹出也是这种效果,引导剁手党熟悉新布局和功能,以便让他们更好的败家。还有好多app也有这种效果,多是领取每日任务之类的页面。

    用处这么广泛,就想着实现下。分析:不考虑js效果的话,其实就是几层页面的关系。最底下是一层正常的网页,中间是一层灰色的蒙版,好了,蒙版上面是一层网页。层次大概这样。

    想清楚了就开始做,主要利用css的position:absolute分层。先写底下的一层,做个最简单的点击弹出蒙版:

    <section onclick="showMasking()" style="display:block; cursor:pointer"> 
        弹出蒙板 
    </section> 

    开始写蒙版层:

     <div id="masking-bg"> 
     </div> 
    

      

    蒙版层上面的:

        <div id="masking-layer">
            <div class="close"onclick="closeMasking()">
                   <img  src="assets/images/common/X.png"/>
            </div>
            <div class="masking-banner">
                <img class="img-bg" src="assets/images/common/winning.png"/>
                <img class="img" src="assets/images/common/iphoneImg.png"/>
                <div style="font-size:10px;"><span>(第1愿 )Apple iPhone6S Plus 64 颜色随机 唯一的不同,就是处处不同 </span></div>
            </div>
            <div class="skip"> 
                <div class="index-sure font-13"> 
                确定
                </div> 
            </div>
            
         </div>

    css:

    <style type="text/css">
    #masking-bg{background-color:#CCC; width: 100%; height: 100%; left: 0; top: 0; z-index: 1; position: absolute; filter: alpha(opacity=80); opacity: 0.6;display: none;}
    #masking-layer{display: none;height:500px;width:100%;position:absolute;top:0;}
    #masking-layer div{position: absolute;z-index: 1000;}
    .close{left:80%;top:15%;z-index:1001 !important;}
    .close img{width:30px;}
    .masking-banner{top:10%;text-align:center;width:100%;}
    .masking-banner .img-bg{width:100%;}
    .masking-banner .img {position:absolute;z-index:1001;left:40%;top:35%;width:25%;}
    .masking-banner div{position:absolute;z-index:1001;left:25%;top:70%;width:50%;}
    .skip{left:38%; top:80%; color:#fff; text-align:center;width:100%;} 
    .index-sure{background-color:#ce1c40;color:#FFF;padding:10px 20px;text-align: center;border-radius:5px;display:block;width:25%;}
    </style> 

    全部代码:

    <html> 
    <head> 
    <meta charset="utf-8"/> 
    <meta id="viewport" name="viewport" content="initial-scale=1.0,user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
    <link rel="stylesheet" href="assets/css/style1.css?v=1.0">
    <style type="text/css">
    #masking-bg{background-color:#CCC; width: 100%; height: 100%; left: 0; top: 0; z-index: 1; position: absolute; filter: alpha(opacity=80); opacity: 0.6;display: none;}
    #masking-layer{display: none;height:500px;width:100%;position:absolute;top:0;}
    #masking-layer div{position: absolute;z-index: 1000;}
    .close{left:80%;top:15%;z-index:1001 !important;}
    .close img{width:30px;}
    .masking-banner{top:10%;text-align:center;width:100%;}
    .masking-banner .img-bg{width:100%;}
    .masking-banner .img {position:absolute;z-index:1001;left:40%;top:35%;width:25%;}
    .masking-banner div{position:absolute;z-index:1001;left:25%;top:70%;width:50%;}
    .skip{left:38%; top:80%; color:#fff; text-align:center;width:100%;} 
    .index-sure{background-color:#ce1c40;color:#FFF;padding:10px 20px;text-align: center;border-radius:5px;display:block;width:25%;}
    </style> 
    </head> 
    <body> 
        <section onclick="showMasking()" style="display:block; cursor:pointer"> 
        弹出蒙板 
        </section>
        
        <div id="masking-bg"> 
        </div> 
        <div id="masking-layer">
            <div class="close"onclick="closeMasking()">
                   <img  src="assets/images/common/X.png"/>
            </div>
            <div class="masking-banner">
                <img class="img-bg" src="assets/images/common/winning.png"/>
                <img class="img" src="assets/images/common/iphoneImg.png"/>
                <div style="font-size:10px;"><span>(第1愿 )Apple iPhone6S Plus 64 颜色随机 唯一的不同,就是处处不同 </span></div>
            </div>
            <div class="skip"> 
                <div class="index-sure font-13"> 
                确定
                </div> 
            </div>
            
         </div>
    <script src="assets/js/jquery.min.js"></script>
    <script>
        $('#masking-layer').height($(window).height());
        function showMasking(){
            $('#masking-bg').css('display','block');
            $('#masking-layer').css('display','block');
        }
        function closeMasking(){
            $('#masking-bg').css('display','none');
            $('#masking-layer').css('display','none');
        }
    </script>
    </body> 
    </html> 

    注意:上述代码中的图片自己替换。$('#masking-layer').height($(window).height());的作用是考虑底层的页面有滑动条条。因为设备的长宽比完全不一样,在PC端看会有点问题。

    效果图:

  • 相关阅读:
    关于Oracle
    form表单中包含特殊字符,需要转义。
    mysql5.7解压版安装步骤
    mysql报1055错误
    配置maven私有仓库
    全选,反选
    前后端数据交互(json)
    正则表达式匹配html标签里的中文
    excel创建行、插入行、设置样式
    Python 中文字符的输出
  • 原文地址:https://www.cnblogs.com/xiaochongchong/p/5364422.html
Copyright © 2011-2022 走看看