利用CSS3实现毛玻璃效果示例源码


Posted in HTML / CSS onSeptember 25, 2016

先来看看效果图

利用CSS3实现毛玻璃效果示例源码

复制代码
代码如下:

body {
min-height: 100vh;
box-sizing: border-box;
margin: 0;
padding-top: calc(50vh - 6em);
font: 150%/1.6 serif;
background: url("iphone.jpg") fixed 0 center;
background-size: cover;
}
main {
margin: 0 auto;
padding: 1em;
max-width: 30em;
border-radius: .3em;
box-shadow: 0 0 0 1px hsla(0,0%,100%,.3) inset,
0 .5em 1em rgba(0, 0, 0, 0.6);
text-shadow: 0 1px 1px hsla(0,0%,100%,.3);
background: hsla(0,0%,100%,.3);
}</p> <p><main>……</main>

去掉那些式样方面的代码,上面实现毛玻璃效果的核心代码如下:

复制代码
代码如下:

body {

background: url("iphone.jpg") fixed 0 center;
background-size: cover;
}
main {

background: hsla(0,0%,100%,.3);
}

当然这个效果离我们的期望还有点距离,因为单纯的30%的透明度会让文字变的难以阅读。对页面来说背景图只是起美化作用,文字才是最核心的。你可以增大透明度的百分比,但这样页面会显得很死板。为了让文字便于阅读,又保持页面的生动活泼,可以对上面的mian标签的背景做模糊处理。

你可能尝试blur滤镜,但可惜的是效果不对:

利用CSS3实现毛玻璃效果示例源码

复制代码
代码如下:

main {

-webkit-filter: blur(3px);
filter: blur(3px);
}

用blur滤镜会将文字也模糊掉,更看不清了,只能放弃。正确的做法是给mian标签增加伪元素::before,在伪元素上使用blur滤镜:(为了效果演示,加上了红色背景色)

利用CSS3实现毛玻璃效果示例源码

复制代码
代码如下:

main {
position: relative;

}
main::before {
content: '';
position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
z-index: -1;
-webkit-filter: blur(20px);
filter: blur(20px);
background: rgba(255,0,0,.5);
}

可以看出blur效果是出来了,但导致了两个问题。首先由于blur出现了外阴影,这个比较好解决,只要加上overflow: hidden;就行了。其次四周20px的模糊半径范围内模糊效果会逐渐消退。如果对此比较介意,想让四周的模糊效果和中间一样,可以将伪元素尺寸外扩20px,为了保险起见,可以稍微再外扩一点到30px:

利用CSS3实现毛玻璃效果示例源码

复制代码
代码如下:

main {

overflow: hidden;
}
main::before {

margin: -30px;
}

最后将伪元素的红色背景色替换成body的背景图即可,效果如下。

利用CSS3实现毛玻璃效果示例源码

总结
以上就是CSS3实现毛玻璃效果的全部内容,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

HTML / CSS 相关文章推荐
CSS3制作精致的照片墙特效
Jun 07 HTML / CSS
用css3实现当鼠标移进去时当前亮其他变灰效果
Apr 08 HTML / CSS
利用CSS3实现圆角的outline效果的教程
Jun 05 HTML / CSS
CSS3中的Media Queries学习笔记
May 23 HTML / CSS
CSS3 input框的实现代码类似Google登录的动画效果
Aug 04 HTML / CSS
详解使用HTML5的classList属性操作CSS类
Oct 13 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
Jan 01 HTML / CSS
HTML5有哪些新特征
Dec 01 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
Aug 18 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
Mar 07 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
Aug 01 HTML / CSS
AmazeUI中模态框的实现
Aug 19 HTML / CSS
CSS3实现简易版的刮刮乐效果
Sep 27 #HTML / CSS
纯DOM+CSS3实现简单的小风车动画
Sep 27 #HTML / CSS
灵活运用CSS3特性绘制简易版围棋效果
Sep 28 #HTML / CSS
CSS3 media queries + jQuery实现响应式导航
Sep 30 #HTML / CSS
CSS3中的元素过渡属性transition示例详解
Nov 30 #HTML / CSS
CSS3 3D立方体效果示例-transform也不过如此
Dec 05 #HTML / CSS
前端制作动画的几种方式(css3,js)
Dec 12 #HTML / CSS
You might like
一个简单计数器的源代码
2006/10/09 PHP
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
Python谱减法语音降噪实例
2019/12/18 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
康拓普公司Java笔面试
2016/09/23 面试题
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
省三好学生申请材料
2014/01/22 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
给上级领导的感谢信
2015/01/22 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
工程服务质量承诺书
2015/04/29 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
php实现自动生成验证码的实例讲解
2021/11/17 PHP