当前位置: 首页 > news >正文

关于CSS中毛玻璃和滤镜使用总结

【1】毛玻璃

毛玻璃效果(也称为磨砂玻璃效果)可以通过 CSS 的 backdrop-filter 属性来实现。这个属性允许你在背景上应用各种滤镜效果,从而创建出类似磨砂玻璃的效果。这种效果通常用于创建半透明背景下的模糊效果,使得背景图像或颜色变得柔和,同时保持前景内容的清晰可见。

示例代码

HTML 结构
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS 毛玻璃效果</title><link rel="stylesheet" href="styles.css">
</head>
<body><div class="glass-effect"><h1>毛玻璃效果</h1><p>这是一个使用 CSS 创建的毛玻璃效果。</p></div>
</body>
</html>
CSS 样式
body, html {height: 100%;margin: 0;font-family: Arial, sans-serif;background: url('https://example.com/your-background-image.jpg') no-repeat center center fixed;background-size: cover;
}.glass-effect {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);padding: 20px;background-color: rgba(255, 255, 255, 0.2); /* 半透明背景 */backdrop-filter: blur(10px); /* 创建毛玻璃效果 */border-radius: 10px;color: #fff;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);max-width: 600px;text-align: center;
}

解释

  1. 背景设置

    • background: url('https://example.com/your-background-image.jpg') no-repeat center center fixed;:设置背景图像,并使其固定在页面中央。
    • background-size: cover;:确保背景图像覆盖整个页面。
  2. 毛玻璃效果

    • position: absolute;:将 .glass-effect 定位为绝对定位。
    • top: 50%; left: 50%; transform: translate(-50%, -50%);:将 .glass-effect 居中显示在页面中间。
    • background-color: rgba(255, 255, 255, 0.2);:设置半透明的白色背景。
    • backdrop-filter: blur(10px);:应用模糊滤镜,创建毛玻璃效果。
    • border-radius: 10px;:添加圆角。
    • color: #fff;:设置文本颜色为白色。
    • box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);:添加阴影效果,增强立体感。
    • max-width: 600px;:设置最大宽度,确保内容不会过于扩展。
    • text-align: center;:使文本居中对齐。

兼容性

backdrop-filter 属性在现代浏览器中得到了广泛支持,但在一些旧版本的浏览器中可能不被支持。因此,建议在使用时进行兼容性测试,确保在不同浏览器中的表现一致。

备用方案

如果浏览器不支持 backdrop-filter,可以考虑使用备用方案,例如使用 filter: blur(10px); 对背景图像进行模糊处理,但这会影响整个元素的内容,而不是仅对背景进行模糊处理。

示例效果

  • 背景图像通过毛玻璃效果变得模糊,但前景内容(标题和段落)保持清晰可见。
  • 整个 .glass-effect 元素具有半透明的背景和圆角,看起来像是透过毛玻璃看到的效果。

希望这个示例能帮助你实现所需的毛玻璃效果!如果你有任何进一步的问题或需要更多的帮助,请随时告诉我。

【2】滤镜

CSS 滤镜(CSS Filters)提供了一种简单的方式来对元素应用各种视觉效果,类似于图像编辑软件中的滤镜效果。这些滤镜可以应用于任何 HTML 元素,包括图片、视频、文本等。CSS 滤镜使用 filter 属性来定义。

常见的 CSS 滤镜

以下是一些常用的 CSS 滤镜及其效果:

  1. blur():使元素变得模糊。

    filter: blur(5px);
    
  2. brightness():调整元素的亮度。

    filter: brightness(50%);
    
  3. contrast():调整元素的对比度。

    filter: contrast(200%);
    
  4. grayscale():将元素转换为灰度图像。

    filter: grayscale(100%);
    
  5. hue-rotate():旋转元素的颜色色调。

    filter: hue-rotate(90deg);
    
  6. opacity():调整元素的透明度。

    filter: opacity(50%);
    
  7. saturate():调整元素的饱和度。

    filter: saturate(50%);
    
  8. sepia():将元素转换为棕褐色调。

    filter: sepia(100%);
    
  9. drop-shadow():为元素添加阴影效果。

    filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.5));
    

组合滤镜

你可以将多个滤镜组合在一起,通过空格分隔每个滤镜效果。

filter: blur(5px) brightness(70%) grayscale(50%);

示例代码

HTML 结构
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS 滤镜示例</title><link rel="stylesheet" href="styles.css">
</head>
<body><div class="image-container"><img src="https://example.com/your-image.jpg" alt="示例图像" class="original"><img src="https://example.com/your-image.jpg" alt="示例图像" class="blurred"><img src="https://example.com/your-image.jpg" alt="示例图像" class="brightened"><img src="https://example.com/your-image.jpg" alt="示例图像" class="grayscaled"></div>
</body>
</html>
CSS 样式
body {font-family: Arial, sans-serif;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;background-color: #f0f0f0;
}.image-container {display: flex;gap: 20px;
}.original {filter: none;
}.blurred {filter: blur(5px);
}.brightened {filter: brightness(150%);
}.grayscaled {filter: grayscale(100%);
}

解释

  1. HTML 结构

    • img 元素用于显示图像。
    • 每个图像都有一个不同的类名,用于应用不同的滤镜效果。
  2. CSS 样式

    • body:设置页面的基本样式,使内容居中显示。
    • .image-container:使用 Flexbox 布局,使图像水平排列并有一定的间距。
    • .original:没有应用任何滤镜。
    • .blurred:应用 blur(5px) 滤镜,使图像变得模糊。
    • .brightened:应用 brightness(150%) 滤镜,增加图像的亮度。
    • .grayscaled:应用 grayscale(100%) 滤镜,将图像转换为灰度图像。

兼容性

CSS 滤镜在现代浏览器中得到了广泛支持,但在一些旧版本的浏览器中可能不被支持。建议在使用时进行兼容性测试,确保在不同浏览器中的表现一致。

备用方案

如果浏览器不支持 filter 属性,可以考虑使用备用方案,例如使用 SVG 滤镜或 JavaScript 库来实现类似的效果。

希望这些示例和解释能帮助你更好地理解和使用 CSS 滤镜!如果你有任何进一步的问题或需要更多的帮助,请随时告诉我。

相关文章:

关于CSS中毛玻璃和滤镜使用总结

【1】毛玻璃 毛玻璃效果&#xff08;也称为磨砂玻璃效果&#xff09;可以通过 CSS 的 backdrop-filter 属性来实现。这个属性允许你在背景上应用各种滤镜效果&#xff0c;从而创建出类似磨砂玻璃的效果。这种效果通常用于创建半透明背景下的模糊效果&#xff0c;使得背景图像或…...

陷入产出危机的我聊聊近况

文章目录 前言我的多重身份作为IT网管作为运维人员作为Web开发人员作为游戏开发人员 总结 前言 在总结文章时&#xff0c;我把自己当做一个内容产出者&#xff0c;当这样一个身份进入每天按部就班的平稳状态时会陷入一种焦虑&#xff0c;产生一种居然没有什么可写的感觉&#…...

HarmonyOS 开发知识总结

1. HarmonyOS 开发知识总结 1.1. resources->base->media中不可以新建文件夹&#xff1f; 项目图片路径resources->base->media中不可以新建文件夹&#xff0c;图片全平级放里面&#xff0c;查找图片不方便&#xff0c;有没有什么其他的办法解决这个难点&#xff…...

[WPF初学到大神] 1. 什么是WPF, MVVM框架, XAML?

什么是WPF? WPF(Windows Presentation Foundation) 包含XAML标记语言和后端代码来开发桌面应用程序的. 用VS新建项目有WPF(.Net Framework和.Net应用程序), 该怎么选? 首选 .NET 应用程序(.NET Core 或 .NET 5/6/7/8新版本)拥有更好的性能、跨平台Windows, Linux, Mac支…...

matlab怎样自动搜索文件夹中的所有txt文件,并将每个txt文件中的数据存放到一个cell数组中——MATLAB批量处理数据

在使用MATLAB批量处理数据时&#xff0c;有时候需要自动搜索文件夹中的所有txt文件&#xff0c;并将每个txt文件中的数据存放到一个以一定规律命名的变量中&#xff0c;以便于后续通过循环处理每个变量数据。 然而&#xff0c;MATLAB并不支持在变量名中直接使用i来动态生成变量…...

LabVIEW智能可变温循环PCT测试系统

随着全球能源危机的加剧和环境保护需求的提升&#xff0c;开发和利用清洁能源已成为全球必然趋势。氢能作为一种高效的替代能源&#xff0c;正逐步受到关注。然而&#xff0c;储氢技术的研究至关重要&#xff0c;尤其是储氢材料的PCT&#xff08;Pressure-Composition-Temperat…...

SparkSQL整合Hive

spark-sql可以直接使用hive的元数据 1、环境搭建如下&#xff1a; ## 1、启动hive的元数据服务shell # 1、修改hive的配置文件 cd /usr/local/soft/hive-3.1.3/conf# 2、增加配置 vim hive-site.xml<property> <name>hive.metastore.uris</name> <value…...

Vue 3 和 Vue 2区别

Vue 3 是 Vue 2 的全新升级版本&#xff0c;引入了诸多新的特性&#xff0c;并在性能、开发体验、响应式系统等多个方面进行了改进。以下是 Vue 2 和 Vue 3 的详细对比&#xff1a; 1. 生命周期钩子差异 Vue 3 保留了大部分 Vue 2 的生命周期钩子&#xff0c;但部分名称有所调…...

React.memo和useMemo

React.memo和usememo React.memo React.memo是一个高阶组件&#xff0c;对组件进行性能优化&#xff0c;主要用于优化函数组件的性能&#xff0c;如果一个组件在相同的props下渲染出相同的结果&#xff0c;但是又不需要在组件更新的时候重新渲染&#xff0c;就可以使用react.…...

Android中实现网络请求的方式有哪些?

在Android开发中&#xff0c;实现网络请求是开发过程中不可避免的一部分。随着技术的不断发展&#xff0c;Android中出现了多种实现网络请求的方式&#xff0c;每种方式都有其独特的优缺点。 一、HttpURLConnection HttpURLConnection是Java提供的用于发送HTTP请求的标准类&a…...

安卓13usb触摸唤醒系统 android13触摸唤醒

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 android13在待机后,需要能够使用触摸屏去唤醒我们的系统,这就需要我们修改系统的相关配置了。 2.问题分析 对于这个问题,我们需要知道安卓的事件分发,通过事件分发,…...

c++常用库函数

一.sort排序 快排的改进算法&#xff0c;评价复杂度为(nlogn). 1.用法 sort(起始地址&#xff0c;结束地址下一位&#xff0c;*比较函数) [起始地址&#xff0c;结束地址) (左开右闭) #include<bits/stdc.h> using namespace std; int main() {//sortvector<int&g…...

CSS 网格布局

网格布局是一个二维布局系统&#xff0c;允许开发者以行和列的形式创建灵活的网络&#xff0c;并将内容放置在网络的单元格中。有些元素可能只占据网络的一个单元&#xff0c;另一些元素则可能占据多行或多列。 网格的大小既可以精确定义&#xff0c;也可以根据自身内容自动计…...

python实现屏幕录制,录音录制工具

python实现屏幕录制&#xff0c;录音录制工具 一&#xff0c;介绍 Python 实现的屏幕录制和录音录制工具是一个便捷的应用程序&#xff0c;旨在帮助用户同时捕捉计算机屏幕上的活动以及与之相关的音频输出。这个工具尤其针对教育工作者、内容创作者、技术支持人员以及任何需要…...

elementui 的 table 组件回显已选数据时候使用toggleRowSelection 方法的坑点

elementui 的 table 组件回显问题 "vue": "^2.7.16", "element-ui": "^2.15.14", 问题描述&#xff1a; 场景&#xff1a;首先我们是通过接口获取到数据之后 然后将返回的数据回显到表格上面 问题&#xff1a;直接将后端返回的数据…...

MATLAB基础应用精讲-【数模应用】负二项回归(附R语言和python代码实现)

目录 前言 几个高频面试题目 负二项回归、Probit回归如何选择 负二项回归 Probit回归 知识储备 逻辑回归 算法原理 多阈值负二项回归模型 模型及估计方法 负二项回归模型 多阈值负二项回归模型 分割阶段 精确估计阈值阶段 ​‌负二项回归的操作步骤 负二项回归…...

20240803 芯动科技 笔试

文章目录 1、单选题1.11.21.31.42、填空题2.12.23、问答题3.13.23.34、编程题4.14.24.3岗位:嵌入式软件工程师(25届校招)(J12042) 题型:4 道单选题,2 道填空题, 3 道简答题,3 道编程题 1、单选题 1.1 已知 5 个元素的出栈序列是 1,2,3,4,5,6 则对应的入栈顺序可能是 …...

如何将 ECharts 图表插入 HTML Canvas

在 Web 开发中&#xff0c;数据可视化是一个常见且重要的需求。ECharts 是一个强大的图表库&#xff0c;而 HTML5 Canvas 则提供了灵活的绘图能力。今天&#xff0c;我们将探讨如何将这两者结合起来&#xff0c;实现将 ECharts 生成的图表插入到 HTML Canvas 中的特定位置。 为…...

突破干扰,无人机自动驾驶技术详解

突破干扰的无人机自动驾驶技术&#xff0c;是一个结合了多学科领域的复杂系统&#xff0c;旨在确保无人机在复杂电磁环境、人为干扰等条件下仍能自主、安全地完成飞行任务。以下是对该技术的详细解析&#xff1a; 一、技术概述 无人机自动驾驶技术通过集成传感器技术、人工智…...

Xamarin学习计划

一、Xamarin 的产生历程 Xamarin 由 Nat Friedman 和 Miguel de Icaza 创立。它的出现主要是为了让开发者能够使用 C#语言来构建跨平台的移动应用程序。 Xamarin 提供了一种统一的开发方式&#xff0c;允许开发者使用熟悉的 C#语言和.NET 框架来开发同时适用于多个平台的应…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...