实践一个赏心悦目的毛玻璃图片效果

作者:dinglin

https://juejin.cn/post/7034037550809366535

背景

我又双叒叕来摸鱼啦!!今天又双叒叕是做需求,发现产品给了一个缩略图排列起来的列表(虽然列表里只给了一个排列项,其他需要脑补)然鹅我发现!想象总是美好的,然而现实是非常骨感的!

什么是毛玻璃效果?

毛玻璃效果(Glassmorphism)是目前非常流行的设计新趋势,你可以在 Dribbble 等网站上看到毛玻璃效果,甚至像 Apple 和 Microsoft 这样的大公司也在使用它。基本上,它的主要特征就是半透明的背景,以及阴影和边框。

FBI Warning! 下面开始,我要给大家画画了!!!

希望可以完全展示出我们产品给的原型图。

850e7b792b6605b7116935a3f9e3e78a.png
image

就类似下面这种~~

90fcd23fe785474936cd7944a0daf847.png
image

在页面中的图片缩略图列表,每张图片的大小,尺寸,宽高比一定不是一样的。。这样就会出现下面这样形式

9d0765d788bb5e373146a6a5862fc40f.png
image
a82ef522720e6ace22d92516e5d646da.png
image

这样的出现了,那么一定是左右,上下会有一定的留白,留黑更不好看了吧~

效果展示

图片用的 Ant Design 的 Image 组件的官方示例图片,侵权请联系我删除.

So... 在我的印象中,好像有一种效果,背景显示当前图片的虚化图,实际的图片显示在整个盒子的中间就好,类似我们今天实现的这种

166b945d1bda3ec1e2ef636f0ba2956d.png
image
430659107f3cc0b57dd259565b538f16.png
image
fec3b496b63e0e59602d1d589760cf55.png
image

怎么样?是不是效果不错??要比留白留黑好看多了吧~~

2362edd2da46c62b612a191036979c7c.png
image

代码开撸

首先写个 HTML 模版代码,用来挂载我们的图片和样式

<!DOCTYPE html>
<html>
  <head>
    <title>实现图片的毛玻璃效果</title>
  </head>
  <body>
    <div class="background">
      <div class="background-content">
        <div class="background-content-image"></div>
        <img
          src="https://gw.alipayobjects.com/zos/antfincdn/LlvErxo8H9/photo-1503185912284-5271ff81b9a8.webp"
          alt="测试图片"
        />
      </div>
    </div>
  </body>
</html>
复制代码
f79c0de29144b062cbe0f35813bea597.png
image

主要是 CSS 部分,我们这次使用 filter: blur() 来实现背景图的虚化

<style>
  .background {
    width: 260px;
    height: 200px;
    overflow: hidden;
  }

  .background-content {
    width: 260px;
    height: 100%;
    position: relative;
    /* 让图片居中显示 */
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .background-content-image {
    position: absolute;
    /* 重点,不能让背景大过于展示的图片 */
    z-index: -1;
    width: 260px;
    height: 100%;
    filter: blur(8px);
    background-image: url(https://gw.alipayobjects.com/zos/antfincdn/LlvErxo8H9/photo-1503185912284-5271ff81b9a8.webp);
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
  }

  img {
    max-height: 100%;
  }
</style>
复制代码
2bbd0e9666bd3dc3a869d3542c8f3409.png
image

这样就实现了我们的毛玻璃图片缩略图预览的效果了,看起来非常赞!

不要忘记给父元素设置 overflow: hidden; 否则虚化的阴影和边框会溢出,影响其他元素。

我们使用的是 filter: blur() 来实现的,这个样式在兼容性上还是可以的,目前主流的毛玻璃效果的网站都在使用 backdrop-filter: blur(); 来实现。

下面是我在寻找遇到的问题的时候,查询到的相关文档,可以看看,效果十分的赞、养眼。相信继扁平化效果之后,就是毛玻璃效果了

什么是毛玻璃效果(Glassmorphism)?仅使用 HTML 和 CSS 来实现[1]

Glass UI[2]

Glassmorphism in user interfaces[3]

摸鱼不易啊!!!为了给大家看看我最新的摸鱼效果,同时排期的时间也在缩短。。如果对你哪怕有那么一丢丢的帮助,点个赞再走吧~

最后

  1. 感谢阅读,欢迎分享给身边的朋友,

  2. 记得关注噢,黑叔带你飞!

37b8e7a2b142f710a37099ed52531ee5.png

亲,点这涨工资 791b458caa6207fda57c10d6ec9282bb.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
襄阳,古称雍州、襄州,位于湖北省中部,是一座历史文化名城。以下是襄阳的HTML和CSS介绍: HTML代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>襄阳介绍</title> <style> body { font-family: 'Microsoft YaHei', sans-serif; background-color: #f8f8f8; } h1 { text-align: center; font-size: 28px; color: #333; margin-top: 50px; margin-bottom: 30px; } p { text-indent: 2em; line-height: 1.8em; font-size: 16px; color: #666; margin: 0 auto; max-width: 800px; } img { display: block; margin: 0 auto; max-width: 800px; height: auto; margin-bottom: 30px; } .container { margin: 0 auto; max-width: 900px; padding: 20px; background-color: #fff; box-shadow: 0px 0px 10px rgba(0,0,0,0.1); border-radius: 5px; margin-bottom: 50px; } </style> </head> <body> <div class="container"> <h1>襄阳介绍</h1> <img src="襄阳图片.jpg" alt="襄阳图片"> <p>襄阳,古称雍州、襄州,位于湖北省中部,是一座历史文化名城。襄阳有着悠久的历史和文化底蕴,是中国历史上的重要城市之一。襄阳有着许多著名的历史文化遗迹,如古老的襄阳城、汉江古桥、古文化街等等。此外,襄阳的自然景观也十分优美,有着悠久的历史和文化底蕴,是中国历史上的重要城市之一。襄阳有着许多著名的历史文化遗迹,如古老的襄阳城、汉江古桥、古文化街等等。此外,襄阳的自然景观也十分优美,有着悠久的历史和文化底蕴,是中国历史上的重要城市之一。襄阳有着许多著名的历史文化遗迹,如古老的襄阳城、汉江古桥、古文化街等等。此外,襄阳的自然景观也十分优美,有着悠久的历史和文化底蕴,是中国历史上的重要城市之一。襄阳有着许多著名的历史文化遗迹,如古老的襄阳城、汉江古桥、古文化街等等。此外,襄阳的自然景观也十分优美,有着悠久的历史和文化底蕴,是中国历史上的重要城市之一。襄阳有着许多著名的历史文化遗迹,如古老的襄阳城、汉江古桥、古文化街等等。此外,襄阳的自然景观也十分优美,有着悠久的历史和文化底蕴,是中国历史上的重要城市之一。襄阳有着许多著名的历史文化遗迹,如古老的襄阳城、汉江古桥、古文化街等等。此外,襄阳的自然景观也十分优美,有着悠久的历史和文化底蕴,是中国历史上的重要城市之一。</p> </div> </body> </html> ``` CSS代码: ```css body { font-family: 'Microsoft YaHei', sans-serif; background-color: #f8f8f8; } h1 { text-align: center; font-size: 28px; color: #333; margin-top: 50px; margin-bottom: 30px; } p { text-indent: 2em; line-height: 1.8em; font-size: 16px; color: #666; margin: 0 auto; max-width: 800px; } img { display: block; margin: 0 auto; max-width: 800px; height: auto; margin-bottom: 30px; } .container { margin: 0 auto; max-width: 900px; padding: 20px; background-color: #fff; box-shadow: 0px 0px 10px rgba(0,0,0,0.1); border-radius: 5px; margin-bottom: 50px; } ``` 以上代码使用了简洁、清晰的字体,选择了淡雅的背景色和合适的字体大小,使得整个页面看起来简洁端庄,让人赏心悦目。同时,使用了div容器将内容包裹起来,并添加了阴影和圆角,让页面更加美观。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值