实现这个效果有以下几种方式。(欢迎指出不足之处!!!) 

一:最简单最粗暴的方法!截图!

  实现原理:先截一张图片,然后写一个遮罩层,再把图片放上去就可以了!

  过程过于简单,就别写代码跟截图效果了!

  优点:简单方便,适合各种页面。并且兼容性极好。

  缺点:图片浪费项目空间。并且需要每次都压缩一下,有些麻烦。

二:利用css3的阴影效果。

效果:

  代码如下:

<div class="mask"></div>
.mask {
  position: absolute;
  top: 350px;
  right: 244px;
  width: 155px;
  height: 80px;
  filter: blur(15px);
  border-radius: 60px;
  box-shadow: 0 0 0 2000px rgba(0,0,0,.6);
}

实现原理:利用阴影覆盖,就可以实现其镂空效果

优点:不受页面限制,实现方便。在不考虑IE9以下的情况下完美的选择

缺点:由于 是使用了css3的阴影特效。所以只兼容IE9以及以上的浏览器,而且,在其阴影部分。可以点击到下面的元素,也就是无法屏蔽其他点击效果。

解决方法:可以考虑将其写在一个遮照层上面。

三:利用css的边框属性

  实现效果同阴影

<div class="class3"></div>

.class3{
position: absolute;width:170px;height:190px;top: ;left: ;
border-left-width:208px;border-left-style: solid;border-left-color:rgba(,,,.);
border-right-width:970px;border-right-style: solid;border-right-color:rgba(,,,.);
border-top-width:260px;border-top-style: solid;border-top-color:rgba(,,,.);
border-bottom-width:253px;border-bottom-style: solid;border-bottom-color:rgba(,,,.);
}

实现原理:利用边框属性铺满整个屏幕

优点:实现方便,兼容性好,可以兼容到IE6、IE7;适合任何页面,不会受页面的限制。

缺点:需要做兼容,并且实现过程比较复杂,要考虑到的元素也多

四:最麻烦的一个,利用canvas的绘图功能

效果一:

  具体多种实现效果参考 : https://juejin.im/post/5c1da8bc6fb9a049c2326a55

  优点:可以同时镂空很多个。

  缺点:实现过程复杂。兼容性也不好

五:遮罩层加box

效果:

<div class="box1" style="background: #333;"></div>
<div class="hole"></div> .hole {
width: 160px;
height: 160px;
position: relative;
background: blue;
border-radius: 100px;
top: 100px;
left: 100px;
opacity: .;
} .box1{
height:%;width:%;
border: 1px solid green;
position:fixed;
opacity: .;
}

原理:在一层蒙板上面加一个盒子就可以了,最经常使用的应该就是这个了

优点:兼容性完美。实现简单,

缺点:暂无

PS:以上代码只是为了实例。一些没完全修改成需要效果,请自行修改!

css 遮照镂空效果的更多相关文章

  1. 原生JS、CSS实现的转盘效果(目前仅支持webkit)

    这是一个原生JS.CSS实现的转盘效果(题目在这:http://www.cnblogs.com/arfeizhang/p/turntable.html),花了半个小时左右,准备睡觉,所以先贴一段代码, ...

  2. 实用js+css多级树形展开效果导航菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. js+css实现带缓冲效果右键弹出菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 如何使用CSS实现小三角形效果

    如何使用CSS实现小三角形效果:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在众多的网页效果中,都有小三角形效果的应用,能够增加特定应用的美观度,下面就给出一段实例代码,里面介绍了两种实现小 ...

  5. CSS 实现图片灰度效果 兼容各种浏览器

    CSS 实现图片灰度效果 兼容各种浏览器如360浏览器 CSS实现图片灰度效果就是通过CSS样式让彩色图片呈现为灰色,相当于把一张图像的颜色模式调整为灰度,CSS可以通过以下几种方法来实现灰度效果. ...

  6. CSS实现两端对齐效果

    CSS实现两端对齐效果 两端对齐,从概念上来说,其实不难理解.如果不明白什么叫两端对齐,可以玩玩word等办公软件. 下面谈谈如何实现文本的两端对齐.我所知道的大概有以下几种方法 text-align ...

  7. 不可思议的纯 CSS 实现鼠标跟随效果

    直接进入正题,鼠标跟随,顾名思义,就是元素会跟随着鼠标的移动而作出相应的运动.大概类似于这样: 通常而言,CSS 负责表现,JavaScript 负责行为.而鼠标跟随这种效果属于行为,要实现通常都需要 ...

  8. 不可思议的纯 CSS 滚动进度条效果

    结论先行,如何使用 CSS 实现下述滚动条效果? 就是顶部黄色的滚动进度条,随着页面的滚动进度而变化长短. 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS , ...

  9. css实现气泡框效果

    前提:气泡框或者提示框是网页很常见的,实现它的方式有很多,我们以前最常用的就是切图片 然后通过 "定位" 方式 定位到相应的位置,但是用这种方式维护很麻烦,比如设计师想改成另外一种 ...

随机推荐

  1. 聊聊 TCP 中的 KeepAlive 机制

    KeepAlive并不是TCP协议规范的一部分,但在几乎所有的TCP/IP协议栈(不管是Linux还是Windows)中,都实现了KeepAlive功能 RFC1122#TCP Keep-Alives ...

  2. Unity坐标系 左手坐标系 图

    x轴:从左指向右 y轴:从下指向上 z轴:指向屏幕里的是左手坐标系,指向屏幕外的是右手坐标系 记忆小技巧:都是X轴朝右,Y轴向上,跟平时画坐标一模一样,区别只是Z的朝向.你用手试一下就知道了,当大拇指 ...

  3. CorelDRAW教程:怎样绘制制作箭头流程图?

    箭头流程图主要由矢量图和连接符组成,通过图形之间的顺序阐述的一个过程,应用也是非常广泛,有些软件中会自带流程图,对于CDR这款矢量绘图软件来说,手动制作流程图是简单且高效的.首先CorelDRAW中就 ...

  4. Linux基础、常用命令

    Linux作为IT程序员必知必会知识,将自己学习到的和最近工作常用的一些命令进行总结,作为我结束过去生活和开始类程序员的序吧! 如果你想系统性学习的话,还是建议看书(鸟哥的Linux私房菜)或网上视频 ...

  5. kvm三个kernel相关的调优

    今天在杭州参加淘宝嘉年华技术沙龙,主题是虚拟化和云计算,三个讲演: 淘宝网子团分享淘宝kvm技术的使用 华为的杨晓伟介绍虚拟化技术 阿里云郑永升介绍弹性云计算技术 其中KVM 调优,三点值得关注的: ...

  6. js正则表达式注册页面表单验证

    可以这样校验 <html> <head> <meta http-equiv="Content-Type" content="text/htm ...

  7. splay 文艺平衡树 (数据结构)

    题目大意:略 splay维护区间翻转裸题,为了减少不必要的麻烦,多插入两个点,分别是0和n+1 每次找区间的第K个值,就在splay上二分即可 顺便学了一下splay的完美建树,而且splay有一些小 ...

  8. MHA 主从切换过程及日志分析

    本文主要在MHA 切换日志的角度分析MHA切换的过.MHA故障切换过程如下图所示 第一部分:开启MHA 监控 通过分析日志,得到以下步骤: 1.读取MHA manager 节点的配置文件,并检查配置文 ...

  9. LVS负载均衡三种模式的实现

    何为lvs负载均衡? lvs负载均衡(linux virtual server)又名linux虚拟服务器.由章文嵩博士主导的负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux ...

  10. jquery 终止循环

    jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功能就只能用ret ...