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.mzph.cn/news/221750.shtml

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

相关文章

C语言—每日选择题—Day47

第一题 1. 以下逗号表达式的值为&#xff08;&#xff09; (x 4 * 5, x * 5), x 25 A&#xff1a;25 B&#xff1a;20 C&#xff1a;100 D&#xff1a;45 答案及解析 D 本题考查的就是逗号表达式&#xff0c;逗号表达式是依次计算每个表达式&#xff0c;但是只输出最后一个表…

【算法题】开源项目热度榜单(js)

解法 const lines ["4","8 6 2 8 6","camila 66 70 46 158 80","victoria 94 76 86 189 211","athony 29 17 83 21 48","emily 53 97 1 19 218", ]; const lines2 ["5","5 6 6 1 2","…

ArkTS入门

代码结构分析 struct Index{ } 「自定义组件&#xff1a;可复用的UI单元」 xxx 「装饰器&#xff1a;用来装饰类结构、方法、变量」 Entry 标记当前组件是入口组件&#xff08;该组件可被独立访问&#xff0c;通俗来讲&#xff1a;它自己就是一个页面&#xff09;Component 用…

tuxera2023破解版免费下载 NTFS for Mac读写工具(附序列号)

Tuxera ntfs 2023 破解安装包是一个mac读写ntfs磁盘工具允许您访问&#xff0c;它允许您访问NFTS 驱动器上的文件。 该应用程序提供访问访问Mac 设备中NFTS 格式文件的驱动力&#xff0c;因此您有权基于格式文件进行无困难的访问Windows 数据。 在发生电力灾难或断电时使用防损…

Signal EM的流程与分析

RedhawkTM 提供了一种在设计中分析Power EM和SignalEM的单一平台方法。Power EM通常作为Static IR和Dynamic IR分析的组成部分进行。Signal EM分析是单独进行分析的,检查设计中所有信号线和过孔的平均(单向或双向)、RMS和峰值电流密度【1】。 1 SignalEM 流程介绍 如图7…

ArrayList集合的两个实例应用,有趣的洗牌算法与杨辉三角

本节课的内容&#xff0c;就让我们来学习一下ArrayList集合的应用&#xff0c;ArrayList的本质就是一个顺序表&#xff0c;那下面一起来学习吧 目录 一、杨辉三角 1.题目详情及链接 2.剖析题目 3.思路及代码 二、洗牌算法 1.创造牌对象 2.创造一副牌 3.洗牌操作 4.发…

人工智能(pytorch)搭建模型22-基于pytorch搭建SimpleBaseline(人体关键点检测)模型,并详细介绍该网络模型与代码实现

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(pytorch)搭建模型22-基于pytorch搭建SimpleBaseline(人体关键点检测)模型&#xff0c;并详细介绍该网络模型与代码实现。本文将介绍关于SimpleBaseline模型的原理&#xff0c;以及利用pytorch框架搭建模型…

lwIP 细节之三:errf 回调函数是何时调用的

使用 lwIP 协议栈进行 TCP 裸机编程&#xff0c;其本质就是编写协议栈指定的各种回调函数。将你的应用逻辑封装成函数&#xff0c;注册到协议栈&#xff0c;在适当的时候&#xff0c;由协议栈自动调用&#xff0c;所以称为回调。 注&#xff1a;除非特别说明&#xff0c;以下内…

大模型应用_chuanhu川虎

https://github.com/GaiZhenbiao/ChuanhuChatGPT 1 功能 整体功能&#xff0c;想解决什么问题 官网说明&#xff1a;为ChatGPT等多种LLM提供了一个轻快好用的Web图形界面和众多附加功能 当前解决了什么问题&#xff0c;哪些问题解决不了 支持多种大模型&#xff08;也可接入本…

Pytorch学习概述

目录 学习目标人工智能1. 智能&#xff08;Intelligence&#xff09;1.1 人类智能1.2 机器学习&#xff08;人工智能&#xff09;1.3 深度学习1.4 学习系统的发展历程传统的机器学习策略 2. 传统机器学习算法的一些挑战3. 神经网络的简要历史3.1 Back Propagation&#xff08;反…

公司怎么防止办公文件数据\资料外泄?

PC访问地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 公司可以采取以下措施来防止办公文件数据和资料外泄&#xff1a; 文件加密&#xff1a;对文件进行加密是一种常见的数据安全保护手段。加密后的文件只能在单位内部电脑上…

如何开发嵌入式中断控制系统?

目录 1、中断向量表 2、NVIC&#xff08;内嵌向量中断控制器&#xff09; 3、中断使能 4、中断服务函数 在嵌入式开发过程中&#xff0c;中断处理是一个不可或缺的环节。本篇博文将以STM32微控制器为核心案例&#xff0c;深入解析中断处理在MCU开发中的关键步骤和策略。主要有以…

mysql自动安装脚本(快速部署mysql)

mysql_install - 适用于生产环境单实例快速部署 MySQL8.0 自动安装脚本 mysql8_install.sh&#xff08;执行前修改一下脚本里的配置参数&#xff0c;改成你自己的&#xff09;&#xff08;博客末尾&#xff09; my_test.cnf&#xff08;博客末尾&#xff09;&#xff08;这个…

力扣24 两两交换链表中的节点 Java版本

文章目录 题目解题方法Code 题目 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;hea…

【五】Python 代理模式

文章目录 5.1 代理模式概述5.1.1 代理介绍5.1.2 代理模式的作用 5.2 代理模式的UML类图5.3 了解不同类型的代理5.3.1虚拟代理5.3.2 远程代理5.3.3 保护代理5.3.4 智能代理 5.4 现实世界中的代理模式5.5 代理模式的优点5.6 门面模式和代理模式之间的比较 5.1 代理模式概述 5.1.…

VSCode 配置自动生成头文件

相关文章 VSCode 开发C/C实用插件分享——codegeex VSCode 开发C/C实用插件分享——koroFileHeader VSCode 配置自动生成头文件 一、snippets二、配置步骤三、效果展示 一、snippets 相信大家对C、C都头文件都不陌生&#xff0c;都会发现每个头文件都会包括下面的这些格式&…

Cent OS7 磁盘挂载:扩展存储空间和自动挂载

文章目录 &#xff08;1&#xff09;概述&#xff08;2&#xff09;查看磁盘使用情况&#xff08;3&#xff09;VMware虚拟机挂载磁盘&#xff08;4&#xff09;物理机磁盘挂载&#xff08;5&#xff09;ntfs硬盘处理 &#xff08;1&#xff09;概述 在Linux系统中&#xff0c…

智能优化算法应用:基于共生生物算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于共生生物算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于共生生物算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.共生生物算法4.实验参数设定5.算法结果6.…

拓展 Amazon S3 技术边界:Amazon S3 Express One Zone 的创新之路

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 亚马逊云科技开发者社区, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 自 Amazon S3 服务推出以来&#xff0c;一直是全球各行各业数百万客…

学习MS Dynamics AX 2012编程开发 1. 了解Dynamics AX 2012

在本章中&#xff0c;您将了解开发环境的结构以及Microsoft Dynamics AX中的开发人员可以访问哪些工具。在本书的第一步演练之后&#xff0c;您将很容易理解著名的Hello World代码&#xff0c;您将知道应用程序对象树中的不同节点代表什么。 以下是您将在本章中学习的一些主题…