• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 利用CSS如何实现全兼容的毛玻璃效果?

利用CSS如何实现全兼容的毛玻璃效果?

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了CSS实现全兼容,毛玻璃效果等相关知识,希望对您有所帮助

本篇文章带大家了解一下CSS backdrop-filter属性,看看该属性的兼容性,介绍一下如何实现全兼容毛玻璃效果。


利用CSS如何实现全兼容的毛玻璃效果?


通过本文,你能了解到

最基本的使用 CSS backdrop-filter 实现磨砂玻璃(毛玻璃)的效果

在至今不兼容 backdrop-filter 的 firefox 浏览器,如何利用一些技巧性的操作,巧妙的同样实现毛玻璃效果,让这个效果真正能运用在业务当中


什么是 backdrop-filter

backdrop-filter CSS 属性可以让你为一个元素后面区域添加图形效果(如模糊或颜色偏移)。 因为它适用于元素背后的所有元素,为了看到效果,必须使元素或其背景至少部分透明。

backdrop-filter 与 filter 非常类似,可以取的值都是一样的,但是一个是作用于整个元素,一个是只作用于元素后面的区域。

backdrop-filter 与 filter 对比

我们使用 backdrop-filter 与 filter 同时实现一个毛玻璃效果作为对比,伪代码如下:

<div class="bg">    <div>Normal</div>    <div class="g-filter">filter</div>    <div class="g-backdrop-filter">backdrop-filter</div></div>
.bg {    background: url(image.png);         & > div {        width: 300px;        height: 200px;        background: rgba(255, 255, 255, .7);    }    .g-filter {        filter: blur(6px);    }    .g-backdrop-filter {        backdrop-filter: blur(6px);    }}


利用CSS如何实现全兼容的毛玻璃效果?


Demo -- filter 与 backdrop-filter 对比,地址:https://codepen.io/Chokcoco/pen/WNjebrr


在 backdrop-filter 之前,想实现上述的只给元素背景添加滤镜效果还是非常困难的,并且,对于静态画面还好,如果背景还是可以滚动的动态背景,通常 CSS 是无能为力的。

backdrop-filter 正是为了给元素后的内容添加滤镜而不影响元素本身而诞生的。使用它可以非常方便的实现磨砂玻璃效果(毛玻璃)!


backdrop-filter 的兼容性

backdrop-filter 其实已经诞生挺久了,然而,firefox 至今都不兼容它!


利用CSS如何实现全兼容的毛玻璃效果?


对于部分已经放弃了 IE 的 PC 端业务而言,firefox 还是需要兼容的,想要让使用 backdrop-filter 实现毛玻璃效果应用落地,firefox 的兼容问题必须得解决。


在 firefox 中实现毛玻璃效果

OK,本文的重点就是在于如何在 firefox 中,不使用 backdrop-filter 而尽可能的还原毛玻璃的效果。

首先看一下,如果是正常使用 backdrop-filter,还是上述的例子效果如下,是没有毛玻璃效果的:


利用CSS如何实现全兼容的毛玻璃效果?


使用 background-attachment: fixed 兼容静态背景图

如果在 firefox 上想使用毛玻璃效果。应用毛玻璃元素的背景只是一张静态背景图,其实方法是有很多的。

我们只需在元素的背后,叠加一张同样的图片,利用 background-attachment: fixed 将叠加在元素下面的图片定位到与背景相同的坐标,再使用 filter: blur() 对其进行模糊处理即可。

伪代码如下:

<div class="g-glossy">frosted glass effect </div>
$img: 'https://static.pexels.com/photos/373934/pexels-photo-373934.jpeg';body {    height: 100vh;    display: flex;    background-image: url($img);    background-repeat: no-repeat;    background-attachment: fixed;    background-size: cover;}.g-glossy {    position: relative;    width: 600px;    height: 300px;    background-color: rgba(255, 255, 255, 0.5);    overflow: hidden;    z-index: 10;        &::before {        content: "";        position: absolute;        top: 0;        left: 0;        right: 0;        bottom: 0;        background-image: url($img);        background-repeat: no-repeat;        background-attachment: fixed;        background-size: cover;        filter: blur(10px);        z-index: -1;    }}

效果如下:


利用CSS如何实现全兼容的毛玻璃效果?


此方法也是在没有 backdrop-filter 之前,在各个浏览器想实现简单毛玻璃效果最常用的方法之一。

Demo -- 使用 background-attachment: fixed | filter: bulr() 实现毛玻璃效果


使用 background-attachment: fixed 兼容静态背景图的缺点

不过这种方法也有两个缺点:

1、由于使用了伪元素叠加了一层背景,因为层级关系,父元素的 background 是在最下层的,所以元素本身的背景色其实并没有被充分体现,可以对比下两种方法的实际效果图:


利用CSS如何实现全兼容的毛玻璃效果?


解决方

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 利用CSS如何实现全兼容的毛玻璃效果?

相关文章

  • Photoshop制作超酷的秋季风格立体字
  • Photoshop设计金属颓废效果的海报标题字
  • Photoshop制作简洁时尚的形象主页
  • 织梦DedeCMS后台文件列表按文件名排序的方法
  • 浅谈bootstrap table分页的实现两种方式
  • 一起看看JavaScript如何获取页面上被选中的文字
  • PHPCMS系统mysql优化教程
  • 外链和内链的设计你知道多少呢
  • LNMP环境安装WordPress不显示主题,无法编辑解决方法
  • Photoshop制作金属质感的黄金立体字

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 利用视频网站加快百度及谷歌的重新收录的SEO技
    • Photoshop制作时尚绚丽的3D立体字教程
    • 使用织梦DdedCMS添加文章时同时更新所有单页面的
    • DedeCMS搜索文件search.php移到网站根目录
    • WordPress多站点不支持timthumb.php解决方法
    • 详解PHP如何高效导出Excel(CSV)
    • Photoshop快速制作漂亮的花朵浮雕字
    • PhotoShop制作简单的炫光残破文字效果教程
    • WordPress控制文章评论最少字数和最大字数
    • 深入解析asp.net中mvc4自定义404页面(分享)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有