编程 CSS实现亚克力和磨砂玻璃效果

2024-11-18 01:21:20 +0800 CST views 605

CSS构建亚克力和磨砂玻璃效果

最近在一些设计教程中,接触到关于微软Fluent设计系统中的亚克力效果(Acrylic Material)以及Mac OS中的磨砂玻璃效果(Frosted Glass)。这些效果引人注目,并被广泛应用在现代UI设计中。今天我们来讨论如何用CSS实现这些设计效果。

发展历程

  • 磨砂玻璃效果(Frosted Glass):iOS系统于2013年首次引入这种背景模糊效果,之后微软Windows 10的Fluent设计系统进一步扩展了这种半透明模糊的视觉体验。
  • 亚克力效果(Acrylic Material):微软在Fluent设计系统中将其命名为亚克力效果,增强了背景的模糊度和层次感,使界面更加有层次和质感。
  • Neumorphism和Glassmorphism:这两种UI风格近年来成为热门设计趋势,其中Glassmorphism因其透明和多层次的效果引人注目。

实现磨砂玻璃效果

为了实现磨砂玻璃效果,首先我们需要三个层次:

  1. 背景层
  2. 模糊层
  3. 内容层

我们可以使用CSS的filterbackdrop-filter属性来实现模糊效果。

磨砂玻璃效果的代码实现

首先,我们设置背景图片:

body {
    background: url("/glassmorphism-css-11.jpeg") no-repeat center fixed;
    background-size: cover;
}

接着,为卡片元素添加模糊效果:

.card {
    background: rgba(255, 255, 255, 0.3);
    filter: blur(10px);
}

使用伪元素实现模糊层

如果不希望filter影响子元素,可以使用CSS伪元素来构建模糊层:

.card {
    position: relative;
    background: inherit;
    overflow: hidden;
}

.card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 8px;
    background: inherit;
    filter: blur(10px);
    z-index: 1;
}

.card > * {
    position: relative;
    z-index: 2;
}

使用backdrop-filter提升效果

backdrop-filter在不影响子元素的情况下,可以提供更自然的模糊效果:

.card {
    background-color: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px);
    border-radius: 8px;
}

实现亚克力效果

亚克力效果可以通过类似的方式实现,增加一定的透明度和背景噪点来模拟亚克力材质的效果。我们同样可以使用filterbackdrop-filter来构建亚克力效果。

.card {
    background-color: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px);
    border-radius: 8px;
    box-shadow: 20px 20px 30px rgba(0, 0, 0, 0.1);
}

实现Glassmorphism效果

Glassmorphism设计风格具有透明、模糊和多层次的特点。我们可以通过以下方式来实现。

设置渐变背景和模糊效果

.card {
    border-radius: 40px;
    background-image: linear-gradient(
        to right bottom,
        rgba(255, 255, 255, 0.4),
        rgba(255, 255, 255, 0.1)
    );
    backdrop-filter: blur(20px);
    border: 3px solid transparent;
    box-shadow: 20px 20px 30px rgba(0, 0, 0, 0.2);
}

为内容层添加透明度和阴影

.card__content {
    background-color: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(20px);
    border-radius: 0 0 40px 40px;
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
}

小结

磨砂玻璃(Frosted Glass)、亚克力(Acrylic Material)、Neumorphism UI和Glassmorphism UI都是现代UI设计中的重要风格。通过CSS的filterbackdrop-filter以及box-shadow等属性,我们可以轻松实现这些效果。

复制全文 生成海报 UI设计 前端开发 CSS效果

推荐文章

快手小程序商城系统
2024-11-25 13:39:46 +0800 CST
JS中 `sleep` 方法的实现
2024-11-19 08:10:32 +0800 CST
go发送邮件代码
2024-11-18 18:30:31 +0800 CST
Roop是一款免费开源的AI换脸工具
2024-11-19 08:31:01 +0800 CST
2025,重新认识 HTML!
2025-02-07 14:40:00 +0800 CST
前端代码规范 - 图片相关
2024-11-19 08:34:48 +0800 CST
Golang 中应该知道的 defer 知识
2024-11-18 13:18:56 +0800 CST
CSS 特效与资源推荐
2024-11-19 00:43:31 +0800 CST
四舍五入五成双
2024-11-17 05:01:29 +0800 CST
Go的父子类的简单使用
2024-11-18 14:56:32 +0800 CST
页面不存在404
2024-11-19 02:13:01 +0800 CST
Vue3中的v-slot指令有什么改变?
2024-11-18 07:32:50 +0800 CST
浏览器自动播放策略
2024-11-19 08:54:41 +0800 CST
css模拟了MacBook的外观
2024-11-18 14:07:40 +0800 CST
在 Rust 生产项目中存储数据
2024-11-19 02:35:11 +0800 CST
任务管理工具的HTML
2025-01-20 22:36:11 +0800 CST
Vue 3 路由守卫详解与实战
2024-11-17 04:39:17 +0800 CST
程序员茄子在线接单