需要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:;
top:;
right:;
bottom:;
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/

最新文章

  1. java-获取随机字符串
  2. python 使用 setup.py 方式安装及包的卸载
  3. 简单模拟struts2核心控制器利用反射原理实现参数传递和物理视图跳转
  4. XML约束图解
  5. Linux中Firefox——Firebug插件安装及使用
  6. 深度学习工具caffe具体安装指南
  7. java--异常处理总结
  8. python并发编程之多线程
  9. 使用json文件给es中导入数据
  10. java常用数据类型使用Day008
  11. 一天带你入门到放弃vue.js(二)
  12. redis命令Sortedset 类型(八)
  13. 为Linux技术学习推荐看的书籍—《Linux就该这么学》
  14. 【Linux】Centos之安装Nginx及注意事项
  15. js字符串截取为数组
  16. How to Use GNOME Shell Extensions
  17. mybatis 使用oracle merge into 语句踩坑实录
  18. UI5-学习篇-9-本地Eclipse UI5应用发布到SAP前端服务器
  19. python 数据类型三 (字典)
  20. Azure IoT 预配置解决方案

热门文章

  1. AlertDialog自定义
  2. MongoDB学习day09--Mongoose aggregate 多表关联查询
  3. FDMemTable的详细使用方法
  4. RxJava系列之中的一个 初识Rxjava
  5. IDEA失效的解决办法
  6. Unity构造函数注入代码示例
  7. WEB服务器安装oracle jdbc
  8. NYOJ110 剑客决斗
  9. C++明确规定,不能获取构造函数和析构函数的地址
  10. 设计模式-(12)迭代器模式 (swift版)