zoukankan      html  css  js  c++  java
  • 使用css borer实现图层蒙版效果

    需要js

    思路:假设目标元素是target。在外层定义元素宽高等于target,通过border设置元素铺满整个文档,设置border的透明图,实现蒙版,在元素的内部设置子元素,宽高100%;设置圆角边框50%; 设置box-shadow inset显示

    代码:

    <span class="demo3">我的信息</span>
    <div class="cover"></div>

    css

    .cover{
                position:absolute;
                border: 0 solid #000;
                left:0;
                top:0;
                right:0;
                bottom:0;
                opacity: 0.75;
                overflow: hidden;
                display: none;//防止页面闪现大圆,在设置完元素的样式之后再显示
    
            }
            .cover::before{
                content:"";
                width:100%;
                position: absolute;
                height:100%;
                -webkit-border-radius: 50%;
                -moz-border-radius: 50%;
                border-radius: 50%;
                border:400px solid #000;
                left:-400px;
                top:-400px;
                box-shadow: 0 0 0 100px #000;
            }

    js代码:

    $(document).ready(function(){
            var w_w=$(document).width();//获取文档的宽度
            var w_h=$(document).height();//获取文档的高度
            var s_l=$(document).scrollLeft();//获取窗口左边滚动的距离
            var s_t=$(document).scrollTop();//获取窗口顶部滚动的距离
            var t_w=$(".demo3").width();//获取目标元素的宽度
            var t_h=$(".demo3").height();//获取目标元素的高度
            var o_l=$(".demo3").offset().left;//获取目标元素相对于当前窗口左边的距离
            var o_t=$(".demo3").offset().top;//获取目标元素距离当前窗口上部的距离
    //设置蒙版元素的border $(
    ".cover").show().css({"width":t_w+"px","height":t_h+"px","border-top-width":s_t+o_t+"px","border-right-width":(w_w-o_l-s_l-t_w)+"px","border-bottom-width":(w_h-s_t-o_t-t_h)+"px","border-left-width":o_l+s_l+"px"}); //border-top-width:目标元素距离当前窗口上部的距离+窗口顶部滚动的距离
     //border-right-width:文档的宽度-目标元素距离当前窗口左边的距离-窗口左边滚动的距离-目标元素的宽度
     //border-bottom-width:文档的高度-目标元素距离当前窗口上部的距离-窗口顶部滚动的距离-目标元素的高度
     //border-left-width:目标元素距离当前窗口左边的距离+窗口左边滚动的距离
    });

    来自:http://www.zhangxinxu.com/wordpress/2016/03/better-black-mask-guide-overlay-method/

  • 相关阅读:
    BZOJ4754 JSOI2016独特的树叶(哈希)
    锦标赛游戏 解题报告
    nowcoder OI 周赛 最后的晚餐(dinner) 解题报告
    Prufer序列
    牛客网 Wannafly挑战赛27 蓝魔法师
    替罪羊树板子
    AT1984 Wide Swap
    洛谷 P1829 [国家集训队]Crash的数字表格 / JZPTAB 解题报告
    CF858F Wizard's Tour 解题报告
    OI中组合数的若干求法与CRT
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/6201470.html
Copyright © 2011-2022 走看看