CSS中神奇的filter属性

CSS是Web开发中不可或缺的一部分,它可以帮助开发者在页面上添加各种各样的样式和效果。其中一个比较神奇的CSS属性就是`filter`,它可以让我们实现各种有趣的图形处理效果。

一、filter属性的基础

`filter`属性是CSS中用于对元素进行图形效果处理的属性之一。它可以应用不同的函数来实现各种滤镜效果,例如模糊、灰度、对比度调整等。

下面是一个使用`filter`属性的基本示例:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.filter {width: 200px;height: 200px;filter: grayscale(100%);}</style>
</head><body><img src="https://tse1-mm.cn.bing.net/th/id/OIP-C.3ELT6GcFbfPHHauNUSTDwgHaHa?w=202&h=202&c=7&r=0&o=5&pid=1.7" alt=""><img src="https://tse1-mm.cn.bing.net/th/id/OIP-C.3ELT6GcFbfPHHauNUSTDwgHaHa?w=202&h=202&c=7&r=0&o=5&pid=1.7" alt="" class="filter">
</body></html>

这个代码将会使图片变成灰色,因为`grayscale()`函数将所有颜色都转换为灰色。

二、常见的filter函数

除了`grayscale()`函数外,`filter`属性还支持其他常见的滤镜函数。以下是一些常见的滤镜效果及其使用方法:

1. blur(length)

应用模糊效果。其中,length表示模糊的程度,可以是像素值或百分比,你也可以使用其他单位,如em、rem等。例如,以下代码将元素应用5像素的模糊效果:

filter: blur(5px);

注意,blur()函数默认应用于所有像素,包括背景和文本。如果你只想对背景应用模糊效果,可以使用backdrop-filter属性。例如,以下代码将只对背景应用5像素的模糊效果:

backdrop-filter: blur(5px);

2. brightness(percentage)

调整图像的亮度。其中,percentage表示亮度的百分比。正值表示增加亮度,负值表示降低亮度。例如,以下代码将元素的亮度提高到原来的150%:

filter: brightness(150%);

你也可以使用其他单位,如em、rem等。

3. contrast(percentage)

调整图像的对比度。其中,percentage表示对比度的百分比。正值表示增加对比度,负值表示降低对比度。例如,以下代码将元素的对比度提高到原来的200%:

filter: contrast(200%);

你也可以使用其他单位,如em、rem等。

4. drop-shadow(x y blur spread color)

创建一个投影效果,使元素产生阴影。其中,x和y表示阴影的水平偏移和垂直偏移;blur表示阴影的模糊程度;spread表示阴影的大小;color表示阴影的颜色。例如,以下代码将在元素下方添加一个红色的阴影:

filter: drop-shadow(2px 2px 5px red);

你也可以使用其他单位,如em、rem等。

5. hue-rotate(angle)

旋转图像的色相。其中,angle表示色相旋转的角度。正值表示顺时针旋转,负值表示逆时针旋转。例如,以下代码将元素的色相顺时针旋转30度:

filter: hue-rotate(30deg);

6. invert(percentage)

反转图像的颜色。其中,percentage表示颜色的反转百分比。正值表示增加反转程度,负值表示降低反转程度。例如,以下代码将元素的绿色部分反转100%:

filter: invert(100%);

你也可以使用其他单位,如em、rem等。

7. opacity(percentage)

调整元素的不透明度。其中,percentage表示不透明度的百分比。正值表示增加不透明度,负值表示降低不透明度。例如,以下代码将元素的透明度降低到原来的50%:

filter: opacity(50%);

你也可以使用其他单位,如em、rem等。

8. saturate(percentage)

调整图像的饱和度。其中,percentage表示棕黑色的程度。正值表示增加棕黑色程度,负值表示降低棕黑色程度。例如,以下代码将元素的棕黑色程度提高到原来的100%:

filter: saturate(200%);

你也可以使用其他单位,如em、rem等。

9. sepia(percentage)

将图像转换为棕黑色。其中,percentage表示棕黑色的程度。正值表示增加棕黑色程度,负值表示降低棕黑色程度。例如,以下代码将元素的棕黑色程度提高到原来的100%:

filter: sepia(100%);

这些滤镜函数可以单独使用,也可以组合使用,以实现更复杂的效果。

例如,以下代码将会在图片上应用一个模糊效果和一个灰度效果:

    .filter {width: 200px;height: 200px;filter: blur(5px) grayscale(100%);}

三、filter属性的兼容性

虽然`filter`属性非常有用,但它并不是所有浏览器都支持。在某些旧版本的浏览器中,`filter`属性可能无法正常工作,或者根本不被支持。

为了确保在所有浏览器中都能正常使用`filter`属性,我们需要对它进行适当的兼容性处理。通常,我们可以通过添加厂商前缀来实现兼容性,例如:

img {-webkit-filter: blur(5px) grayscale(100%);filter: blur(5px) grayscale(100%);
}

在这个例子中,我们使用`-webkit-filter`来添加Webkit浏览器的支持,并在后面跟上标准的`filter`属性,以确保在其他浏览器中也能正常工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/216821.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java-集合的补充

常见基础集合汇总 数据结构&#xff1a;栈 数据结构分为&#xff1a; &#xff08;1&#xff09;逻辑结构 &#xff1a;--》思想上的结构--》卧室&#xff0c;厨房&#xff0c;卫生间 ---》线性表&#xff08;数组&#xff0c;链表&#xff09;&#xff0c;图&#xff0c;树&…

stm32F407-GPIO的使用——点亮LED并且讲解各个寄存器

stm32F407-GPIO的使用——点亮LED并且讲解各个寄存器 本文为stm32GPIO的介绍与使用&#xff0c;例子是简单的LED点亮。 一、 GPIO GPIO&#xff08;General Purpose I/O Ports&#xff09;意思为通用输入/输出端口&#xff0c;通俗地说&#xff0c; 就是一些引脚&#xff0c;可…

十个Vue3实用但是冷门的API

文章目录 一、前言二、readonly三、shallowRef四、shallowReactive五、toRef & toRefs5.1、 toRef5.2、toRefs 六、toRaw & markRaw & unref6.1、toRaw6.2、markRaw6.3、unref 七、effectScope & onScopeDispose7.1、收集副作用7.2、全局状态管理 八、provide …

HTML面试题---专题一

文章目录 一、前言二、 HTML5 中 <header> 和 <footer> 标签的用途是什么&#xff1f;三、如何在 HTML 中嵌入 SVG&#xff08;可缩放矢量图形&#xff09;文件&#xff1f;四、解释 contenteditable 属性的用途五、如何创建随屏幕尺寸缩放的响应式图像&#xff1f…

3 文本分类入门finetune:bert-base-chinese

项目实战&#xff1a; 数据准备工作 bert-base-chinese 是一种预训练的语言模型&#xff0c;基于 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;架构&#xff0c;专门用于中文自然语言处理任务。BERT 是由 Google 在 2018 年提出的一…

迅腾文化助力企业品牌创新,加快增强品牌发展新动能

迅腾文化助力企业品牌创新&#xff0c;加快增强品牌发展新动能 随着市场竞争的日益激烈&#xff0c;品牌创新已成为企业持续发展的关键。为了在市场中脱颖而出&#xff0c;许多企业纷纷寻求外部合作伙伴以加快品牌发展。广州迅腾文化传播有限公司拥有13年品宣经验的企业&#…

关于Cython生成的so动态链接库逆向

来个引子&#xff1a;TPCTF的maze题目 如何生成这个so文件 为了研究逆向&#xff0c;我们先搞个例子感受一下生成so的整个过程&#xff0c;方便后续分析 创建对应python库文件 testso.py def test_add(a,b):a int(a)b int(b)return a bdef test_calc(li):for i in range…

JavaWeb笔记之MySQL数据库

#Author 流云 #Version 1.0 一、引言 1.1 现有的数据存储方式有哪些&#xff1f; Java程序存储数据&#xff08;变量、对象、数组、集合&#xff09;&#xff0c;数据保存在内存中&#xff0c;属于瞬时状态存储。 文件&#xff08;File&#xff09;存储数据&#xff0c;保存…

【基于Flask、MySQL和Echarts的热门游戏数据可视化平台设计与实现】

基于Flask、MySQL和Echarts的热门游戏数据可视化平台设计与实现 前言数据获取与清洗数据集数据获取数据清洗 数据分析与可视化数据分析功能可视化功能 创新点结语 前言 随着游戏产业的蓬勃发展&#xff0c;了解游戏销售数据对于游戏从业者和游戏爱好者都至关重要。为了更好地分…

自动化补丁管理软件

什么是自动化补丁管理 自动补丁管理&#xff08;或自动补丁&#xff09;是指整个补丁管理过程的自动化&#xff0c;从扫描网络中的所有系统到检测缺失的补丁&#xff0c;在一组测试系统上测试补丁&#xff0c;将它们部署到所需的系统&#xff0c;并提供定期更新和补丁部署状态…

Duplicate keys detected: This may cause an update error.【Vue遍历渲染报错的解决】

今天在写项目时&#xff0c;写到一个嵌套评论的遍历时&#xff0c;控制台出现了一个报错信息&#xff0c;但是并不影响页面的渲染&#xff0c;然后一看这个错的原因是 key值重复&#xff0c;那么问题的解决方式就很简单了。&#xff08;vue for循环读取key值时&#xff0c; key…

LLM Agent发展演进历史(观看metagpt视频笔记)

LLM相关的6篇重要的论文&#xff0c;其中4篇来自谷歌&#xff0c;2篇来自openai。技术路径演进大致是&#xff1a;SSL (Self-Supervised Learning) -> SFT (Supervised FineTune) IT (Instruction Tuning) -> RLHF。 word embedding的问题&#xff1a;新词如何处理&…

文档或书籍扫描为 PDF:ScanPapyrus Crack

ScanPapyrus 可让您快速轻松地将文档或书籍扫描为 PDF&#xff0c;批处理模式使扫描过程快速高效&#xff0c;自动处理书籍并将其拆分为单独的页面 用于快速扫描文档、书籍或打印照片的扫描仪软件 快速扫描文档 使用此扫描仪软件&#xff0c;您无需在扫描仪和计算机之间来回移动…

JavaEE 09 锁策略

1.锁策略 1.1 乐观锁与悲观锁 其实前三个锁是同一种锁,只是站在不同的角度上去进行描述,此处的乐观与悲观其实是指在预测的角度上看会发生锁竞争的概率大小,概率大的则是悲观锁,概率小的则是乐观锁 乐观锁在加锁的时候就会做较少的事情,加锁的速度较快,但是消耗的cpu资源等也会…

大数据机器学习与深度学习——过拟合、欠拟合及机器学习算法分类

大数据机器学习与深度学习——过拟合、欠拟合及机器学习算法分类 过拟合&#xff0c;欠拟合 针对模型的拟合&#xff0c;这里引入两个概念&#xff1a;过拟合&#xff0c;欠拟合。 过拟合&#xff1a;在机器学习任务中&#xff0c;我们通常将数据集分为两部分&#xff1a;训…

beebox靶场A3 low级别 xss通关教程(二)

六&#xff1a;xss get型 eval 通过观察我们可以发现url地址中存在一个date函数 那我们可以试一下把后面的date()函数去掉&#xff0c;直接写入一个alert(555) 发现直接弹出一个框&#xff0c;证明有xss漏洞 七&#xff1a;xss href 直接进入页面会看到是get方法&#xff0c…

【JVM从入门到实战】(五)类加载器

一、什么是类加载器 类加载器&#xff08;ClassLoader&#xff09;是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。 类加载器只参与加载过程中的字节码获取并加载到内存这一部分。 二、jdk8及之前的版本 类加载器分为三类&#xff1a; 启动类加载器-加载Ja…

Docker Compose入门:打造多容器应用的完美舞台

Docker Compose 是一个强大的工具&#xff0c;它允许开发者通过简单的 YAML 文件定义和管理多容器的应用。本文将深入讨论 Docker Compose 的基本概念、常用命令以及高级应用场景&#xff0c;并通过更为丰富和实际的示例代码&#xff0c;助您轻松掌握如何通过 Docker Compose 打…

VLAN协议与单臂路由

文章目录 VLAN协议与单臂路由一、VLAN的概念及优势1、分割广播域2、VLAN的优势3、VLAN数据帧 二、VLAN的种类1、静态VLAN2、动态VLAN3、VLAN划分方式 三、静态VLAN的配置1、VLAN的范围2、静态VLAN的配置2.1 配置静态VLAN的步骤2.2 vlan三种端口类型举例&#xff1a;配置静态VLA…

1688按关键字搜索工厂数据,商品详情页数据的采集

公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中,点击获取测试key和secret&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cacheStrin…