部分全透明遮罩层
2016-03-13 22:18
274 查看
腾讯微云,在新用户刚进入网站时的提示。
第一眼看到这样的部分全透明遮罩的效果,感觉实现的方式有:
代码实现
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>背景遮罩</title>
<style>
.cover{
display:block;
position:absolute;
left:0;top:0;right:0;bottom:0;
border:0solid#000;
opacity:.75;
filter:alpha(opacity=75);
z-index:9;
/*边缘闪动问题fix*/
box-shadow:000100px#000;
overflow:hidden;
width:167px;
height:39px;
border-width:20px1065px2277px48px;
display:block;
}
.cover::before{
content:'';
width:100%;
height:100%;
border-radius:50%;
border:400pxsolid#000;
position:absolute;
left:-400px;top:-400px;
box-shadow:inset005px2pxrgba(0,0,0,.75);
}
</style>
</head>
<body>
<h3>这是一个背景遮罩</h3>
<divclass="cover"id="cover"></div>
</body>
</html>
实现效果:
(这样我们只需要改变四面border的值,就能够改变border的位置,改变div的width或者height就可以改变白色区域的形状。但是这样的缺点是只能形成有限的全透明形状)
第一眼看到这样的部分全透明遮罩的效果,感觉实现的方式有:
1.使用图片,在相应的位置进行挖空全透明处理。但是这样如果有多处提示,就得使用多张图片 2.或者像腾讯微云自己的实现方式,垒积木似的一块一块拼接,这样做缺点也很明显
在看到一篇博客上的思路,如果把白色区域看成div,黑色半透明部分看成div的各个border,这样事情就变得简单得多:
代码实现
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>背景遮罩</title>
<style>
.cover{
display:block;
position:absolute;
left:0;top:0;right:0;bottom:0;
border:0solid#000;
opacity:.75;
filter:alpha(opacity=75);
z-index:9;
/*边缘闪动问题fix*/
box-shadow:000100px#000;
overflow:hidden;
width:167px;
height:39px;
border-width:20px1065px2277px48px;
display:block;
}
.cover::before{
content:'';
width:100%;
height:100%;
border-radius:50%;
border:400pxsolid#000;
position:absolute;
left:-400px;top:-400px;
box-shadow:inset005px2pxrgba(0,0,0,.75);
}
</style>
</head>
<body>
<h3>这是一个背景遮罩</h3>
<divclass="cover"id="cover"></div>
</body>
</html>
实现效果:
(这样我们只需要改变四面border的值,就能够改变border的位置,改变div的width或者height就可以改变白色区域的形状。但是这样的缺点是只能形成有限的全透明形状)
相关文章推荐
- ionic APP 版本升级策略(IOS&ANDROID)
- Android TouchDelegate
- 监控RuntimeException
- 第一次上机实验
- nexus的仓库介绍,以及配置远程仓库
- PHP表单增加token验证,防止站外提交/重复提交/双击提交
- 浏览器多进程&多连接&keepalive&请求合并
- WebService-CXF-Spring 基于web的cxf(三)------参考传智播客视频
- C++入门学习第一天:c++与c的区别
- 模仿mybatis,用jdk proxy实现接口
- 程序出现(LaunchServicesError error 0)的解决办法参考
- Week3:构造一个简单的Linux系统MenuOS
- 常用函数
- Android系统之SD卡分析一
- OpenGL编程(五)绘直线以及分析绘直线的算法
- 使用MySql过程中遇到的错误
- Git常用命令
- 《机电传动控制》---学习笔记三
- Apache Thrift入门(安装、测试与java程序编写)
- SYSU_月赛