CSS3 毛玻璃效果


Posted in HTML / CSS onAugust 14, 2019

毛玻璃效果做的好能使页面显得非常生动立体。直接上图

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);
}

<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 毛玻璃效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3伪类选择器:nth-child()
Apr 02 HTML / CSS
HTML5 CSS3给网站设计带来出色效果
Jul 16 HTML / CSS
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
Nov 05 HTML / CSS
纯css3实现的动画按钮的实例教程
Nov 17 HTML / CSS
浅谈css3中的前缀
Jul 20 HTML / CSS
css3实现元素环绕中心点布局的方法示例
Jan 15 HTML / CSS
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
Mar 25 HTML / CSS
HTML5 Canvas draw方法制作动画效果示例
Jul 11 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
Jul 19 HTML / CSS
html5需遵循的6个设计原则
Apr 27 HTML / CSS
AmazeUI 模态窗口的实现代码
Aug 18 HTML / CSS
纯CSS打字动画的实现示例
Aug 05 HTML / CSS
详解css position 5种不同的值的用法
Jul 30 #HTML / CSS
CSS Houdini实现动态波浪纹效果
Jul 30 #HTML / CSS
使用css实现android系统的loading加载动画
Jul 25 #HTML / CSS
使用CSS3实现input多选框自定义样式的方法示例
Jul 19 #HTML / CSS
详解css3中 text-fill-color属性
Jul 08 #HTML / CSS
解决margin 外边距合并问题
Jul 03 #HTML / CSS
css3实现蒙版弹幕功能
Jun 18 #HTML / CSS
You might like
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
thinkPHP实现表单自动验证
2014/12/24 PHP
php调整服务器时间的方法
2015/04/03 PHP
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
2011/03/01 Javascript
javaScript 利用闭包模拟对象的私有属性
2011/12/29 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
jQuery队列操作方法实例
2014/06/11 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
2015/08/19 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
Python实现元素等待代码实例
2019/11/11 Python
python怎么调用自己的函数
2020/07/01 Python
CSS3实现网站商品展示效果图
2020/01/18 HTML / CSS
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
心理咨询专业自荐信
2014/07/07 职场文书
拆迁委托协议书
2014/09/15 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
2015年招聘工作总结
2014/12/12 职场文书
廉政承诺书2015
2015/04/28 职场文书
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
pt-archiver 主键自增
2022/04/26 MySQL
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技