CSS的filter属性详解

目录

前言

函数

blur()函数

brightness()函数

contrast()函数

drop-shadow()函数

grayscale()函数

hue-rotate() (en-US)函数

invert() (en-US)函数

opacity()函数

saturate() (en-US)函数

sepia() (en-US)函数

组合函数


前言

CSS的filter 属性将模糊或颜色偏移等图形效果应用于元素。滤镜通常用于调整图像、背景和边框的渲染。

函数

filter 属性可设置为 none 或下面列出的一个或多个函数。如果任何函数的参数无效,则该函数返回 none。除特殊说明外,函数的值如果接受百分比值(如 34%),那么该函数也接受小数值(如 0.34)。

当单个 filter 属性具有多个函数时,滤镜将按顺序依次应用。

blur()函数

blur()函数是filter属性的一种取值,用于给元素添加模糊效果。

使用blur()函数时,需要指定一个长度值作为参数,表示要应用的模糊程度。模糊程度越大,图像就越模糊。例如:

.blur-element {filter: blur(5px);
}

上述代码将给class为"blur-element"的元素添加一个5像素的模糊效果。

除了长度值以外,blur()函数还可以接受其他单位,如像素(px)、百分比(%)等。此外,也可以通过使用不同的滤镜函数组合来创建更复杂的效果。

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: blur(5px);}</style></head><body><div class="blur-element"></div></body>
</html>

在上面的示例中,我们创建了一个带有class为"blur-element"的div元素,并将其背景图片设置为'img/7.png'。然后,在CSS样式中,我们为该元素设置了宽度、高度和filter属性。filter属性的blur()函数被设置为5像素,这将给元素应用一个5像素的模糊效果。

brightness()函数

CSS的filter属性中的brightness()函数用于调整图像的亮度。它可以接受一个百分比值或者小数作为参数,用于指定亮度的级别。

下面是brightness()函数的使用示例:

.brightness-element {filter: brightness(150%); /* 或者 filter: brightness(1.5); */
}

上述代码将给class为"brightness-element"的元素应用一个亮度增加50%的效果。你可以通过调整百分比或小数的值来改变亮度的级别。值为 0% 将创建全黑图像,值大于100%会增加亮度,而值小于100%会减少亮度。

如果要降低亮度,可以使用小于1的小数值或小于100%的百分比。例如,filter: brightness(0.8)会将亮度降低为80%。

需要注意的是,brightness()函数可以与其他滤镜函数组合使用,以创建更复杂的效果。

示例 

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: brightness(150%);}</style></head><body><div class="blur-element"></div></body>
</html>

contrast()函数

CSS的filter属性中的contrast()函数用于调整图像的对比度。它接受一个百分比值或者小数作为参数,用于指定对比度的级别。

下面是contrast()函数的使用示例:

.contrast-element {filter: contrast(150%); /* 或者 filter: contrast(1.5); */
}

上述代码将给class为"contrast-element"的元素应用一个对比度增加50%的效果。可以通过调整百分比或者小数值来改变对比度的级别。值是 0% 将使图像变灰,值大于100%会增加对比度,而值小于100%会降低对比度。

如果想降低对比度,可以使用小于1的小数值或者小于100%的百分比。例如,filter: contrast(0.8)会将对比度降低为80%。

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: contrast(150%);}</style></head><body><div class="blur-element"></div></body>
</html>

drop-shadow()函数

CSS的filter属性中的drop-shadow()函数用于向图像添加阴影效果。它可以接受多个参数,包括阴影的颜色、偏移量、模糊度等。

下面是drop-shadow()函数的使用示例:

.shadow-element {filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
}

上述代码将给class为"shadow-element"的元素应用一个向右下角偏移2个像素、向外扩散4个像素、颜色为半透明黑色的阴影效果。

drop-shadow()函数有三个必需的参数:水平偏移量、垂直偏移量和模糊半径。可以通过添加第四个参数来指定阴影的颜色。若省略第四个参数,则默认使用与元素同色的阴影。

下面是drop-shadow()函数的参数说明:

  • 水平偏移量:阴影相对于元素的水平位移量。可以为负数,表示阴影向左偏移。
  • 垂直偏移量:阴影相对于元素的垂直位移量。可以为负数,表示阴影向上偏移。
  • 模糊半径:阴影模糊的半径大小。可以为0,表示完全不模糊。
  • 阴影颜色:阴影的颜色。可以使用命名颜色、RGB值、十六进制颜色、HSL值等表示颜色的格式,也可以使用rgba()函数指定颜色和透明度。

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.5));}</style></head><body><div class="blur-element"></div></body>
</html>

grayscale()函数

CSS的filter属性中的grayscale()函数用于将图像转为灰度图像。它接受一个百分比值或者小数作为参数,用于指定灰度的级别。

下面是grayscale()函数的使用示例:

.grayscale-element {filter: grayscale(50%); /* 或者 filter: grayscale(0.5); */
}

上述代码将给class为"grayscale-element"的元素应用一个灰度效果,使图像变为原来亮度的50%。可以通过调整百分比或者小数值来改变灰度的级别。值为100%或者1表示完全灰度,而值为0%或者0表示完全恢复原色。

如果想要部分应用灰度效果,可以将灰度函数与其他滤镜函数组合使用。例如,可以使用以下代码将图像的一部分变为灰度,而保持其他部分的原色:

.grayscale-element {filter: grayscale(100%) brightness(150%);
}

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: grayscale(1) brightness(200%);}</style></head><body><div class="blur-element"></div></body>
</html>

hue-rotate() (en-US)函数

CSS的filter属性中的hue-rotate()函数用于对图像进行色相旋转。它接受一个角度值作为参数,用于指定旋转的角度。

下面是hue-rotate()函数的使用示例:

.hue-rotate-element {filter: hue-rotate(90deg);
}

上述代码将给class为"hue-rotate-element"的元素应用一个色相旋转效果,将图像的色相顺时针旋转90度。可以通过调整角度值来改变旋转的程度。

hue-rotate()函数的参数是一个角度值,可以使用角度单位(如deg)表示,也可以使用弧度单位(如rad)表示。正值表示顺时针旋转,负值表示逆时针旋转。角度值可以是任意实数,但超过360度或-360度的部分会被忽略。值为 0deg,则图像无变化。

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: hue-rotate(90deg);}</style></head><body><div class="blur-element"></div></body>
</html>

invert() (en-US)函数

CSS的filter属性中的invert()函数用于将图像进行反色处理。它接受一个百分比值或者小数作为参数,用于指定反色的程度。

下面是invert()函数的使用示例:

.invert-element {filter: invert(50%); /* 或者 filter: invert(0.5); */
}

上述代码将给class为"invert-element"的元素应用一个反色效果,使图像的颜色与原来相反,亮度和对比度保持不变。可以通过调整百分比或者小数值来改变反色的程度。值为100%或者1表示完全反色,而值为0%或者0表示完全恢复原色。

如果想要部分应用反色效果,可以将反色函数与其他滤镜函数组合使用。例如,可以使用以下代码将图像的一部分变为反色,而保持其他部分的原色:

.invert-element {filter: invert(100%) brightness(150%);
}

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: invert(100%) brightness(150%);}</style></head><body><div class="blur-element"></div></body>
</html>

opacity()函数

CSS的filter属性中的opacity()函数用于调整元素的不透明度(透明度)。它接受一个百分比值或者小数作为参数,用于指定元素的透明度级别。

下面是opacity()函数的使用示例:

.opacity-element {filter: opacity(50%); /* 或者 filter: opacity(0.5); */
}

上述代码将给class为"opacity-element"的元素应用一个透明效果,使元素的透明度降低到原来的50%。可以通过调整百分比或者小数值来改变透明度的级别。值为100%或者1表示完全不透明,而值为0%或者0表示完全透明。

需要注意的是,opacity()函数会影响元素及其内容的透明度,包括文本、图像等。如果只想调整背景的透明度而保持文本不透明,可以考虑使用rgba颜色值来设置背景色的透明度。

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: opacity(50%);}</style></head><body><div class="blur-element"></div></body>
</html>

saturate() (en-US)函数

CSS的filter属性中的saturate()函数用于调整图像的饱和度。它接受一个百分比值或者小数作为参数,用于指定饱和度的级别。

下面是saturate()函数的使用示例:

.saturate-element {filter: saturate(200%); /* 或者 filter: saturate(2); */
}

上述代码将给class为"saturate-element"的元素应用一个饱和度增强效果,使图像变得更加鲜艳。

可以通过调整百分比或者小数值来改变饱和度的级别。值为100%或者1表示保持原有饱和度不变,而值为0%或者0表示完全去除饱和度(即灰色图像)。值大于100%或者1表示增强饱和度,而值小于100%或者1表示减少饱和度。

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: saturate(200%);}</style></head><body><div class="blur-element"></div></body>
</html>

sepia() (en-US)函数

CSS的filter属性中的sepia()函数用于将图像转换为深褐色(复古)效果。它接受一个百分比值或者小数作为参数,用于指定sepia(褐色)效果的程度。

下面是sepia()函数的使用示例:

.sepia-element {filter: sepia(100%); /* 或者 filter: sepia(1); */
}

上述代码将给class为"sepia-element"的元素应用一个sepia效果,使图像呈现出复古的褐色调。可以通过调整百分比或者小数值来改变sepia效果的程度。值为100%或者1表示完全应用sepia效果,而值为0%或者0表示完全不应用sepia效果。

示例

<!DOCTYPE html>
<html><head><style>body,html {height: 100%;margin: 0;display: flex;align-items: center;justify-content: center;}.blur-element {width: 300px;height: 200px;background-image: url('img/7.png');filter: sepia(100%);}</style></head><body><div class="blur-element"></div></body>
</html>

组合函数

CSS的filter属性支持多个滤镜函数的组合使用,以创建更复杂的效果。可以通过空格将多个函数链接在一起,它们的顺序会影响最终效果。

以下是一些常见的filter属性的组合函数:

1、brightness()和contrast()

.brightness-contrast {filter: brightness(150%) contrast(150%);
}

上述代码将给class为"brightness-contrast"的元素应用一个亮度增强和对比度增强的效果,使图像更加鲜明。

2、blur()和opacity()

.blur-opacity {filter: blur(5px) opacity(50%);
}

上述代码将给class为"blur-opacity"的元素应用一个模糊和透明效果,使图像变得模糊且半透明。

3、grayscale()、sepia()和saturate()

.grayscale-sepia-saturate {filter: grayscale(100%) sepia(50%) saturate(200%);
}

上述代码将给class为"grayscale-sepia-saturate"的元素应用一个灰度、褐色和饱和度增强的效果,使图像呈现出复古的灰色调。

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

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

相关文章

【正点原子STM32连载】 第六十一章 USB读卡器(Slave)实验摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子APM32F407最小系统板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html## 第六十…

Electronica慕尼黑电子展 Samtec团队与21ic分享虎家产品与方案

【摘要/前言】 “希望但凡是能够使用到连接器的场合都有Samtec的身影” 在慕尼黑上海电子展现场&#xff0c;Samtec华东区销售经理章桢彦先生在与21ic副主编刘岩轩老师的采访中&#xff0c;如是说道。这是一种愿景&#xff0c;更是Samtec的努力方向。短短一句话&#xff0c;…

视频播放标签,设置自动播放 暂停键 播放键 js方法

1 创建video 标签&#xff0c;标签设置属性 autoplay 自动播放&#xff0c;宽高100 全屏。 <video class"video" id"shipin" controls"controls" autoplay poster"" style"width:100%;height:100%;position:fixed;">&…

notepad++ 插件JSONView安装

1&#xff0c;前提 开发过程中经常需要处理json格式语句&#xff0c;需要对json数据格式化处理&#xff0c;因为使用的是虚拟机内开发&#xff0c;所以没法连接外网&#xff0c;只能在本地电脑下载插件后&#xff0c;然后上传到虚拟机中&#xff0c;进行安装使用。 2&#xf…

1+x中级网络运维实验题

任务 1&#xff1a; 设备命名 为了方便后期维护和故障定位及网络的规范性&#xff0c;需要对网络设备进行规范化命名。请根据 Figure 3-1 实验考试拓扑对设备进行命名。命名规则为&#xff1a;城市-设备的设置地点-设备的功能属性和序号-设备型号。例如&#xff1a;处于杭州校…

@Autowired注解获取对象为null

问题再现 兄弟们&#xff0c;看见了吗&#xff1f;这里我Autowired进来的forkliftService 居然为null 且我SysForkliftServiceImpl上面是加了Service注解的 分析原因 主要原因就是因为该类继承了一个第三方框架SimpleChannelInboundHandler&#xff0c;在执行的过程中&#…

[Java 源码] 美团一面~ArrayList 的底层实现

文章目录 1. ArrayList 与 数组的区别2 ArrayList 的初始化容量3. ArrayList 的扩容具体指什么4. ArrayList是如何实现扩容的&#xff1f;5. ArrayList有缩容吗&#xff1f; 1. ArrayList 与 数组的区别 ArrayList 的底层是数组队列&#xff0c;相当于动态数组。与 Java 中的数…

2023年【P气瓶充装】找解析及P气瓶充装复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 P气瓶充装找解析参考答案及P气瓶充装考试试题解析是安全生产模拟考试一点通题库老师及P气瓶充装操作证已考过的学员汇总&#xff0c;相对有效帮助P气瓶充装复审模拟考试学员顺利通过考试。 1、【多选题】CNG双燃料汽车…

Dockerfile 与 Docker Compose区别

目录 Dockerfile Docker Compose 综合比较 Dockerfile 用途&#xff1a; Dockerfile 用于定义单个容器的构建过程。它包含了一系列指令&#xff0c;每个指令都代表容器构建过程中的一个步骤。这些步骤包括从基础镜像中构建、安装依赖、拷贝文件、设置环境变量等操作。 语法…

【IEEE独立出版】2024第四届神经网络、信息与通信工程国际学术会议(NNICE 2024)

2024第四届神经网络、信息与通信工程国际学术会议&#xff08;NNICE 2024&#xff09; 2024 4th International Conference on Neural Networks, Information and Communication Engineering 2024第四神经网络、信息与通信工程国际学术会议&#xff08;NNICE 2024&#xff0…

电商API接口对于实现电商系统平台的搭建有哪些作用?

电商API接口用于实现电商平台的数据交互和功能调用。具体来说&#xff0c;电商API接口可以用于以下几个方面&#xff1a; 1. 商品管理&#xff1a;通过API接口&#xff0c;可以实现商品的添加、修改、删除、查询等操作。商家可以通过API接口将自己的商品信息上传到电商平台&…

三、Linux高级命令

目录 1、重定向命令 1.1 重定向 > 1.2 重定向 >> 该章节的所有操作都在/export/data/shell目录进行&#xff0c;请提前创建该目录。 mkdir -p /export/data/ 1、重定向命令 1.1 重定向 > Linux 允许将命令执行结果重定向到一个文件&#xff0c;本应显示在…

群晖NAS:docker(Container Manager)、npm安装Verdaccio并常见命令集合

群晖NAS&#xff1a;docker&#xff08;Container Manager&#xff09;、npm安装Verdaccio并常见命令集合 自建 npm 资源库&#xff0c;使用Verdaccio。如果觉得麻烦&#xff0c;直接可以在外网注册 https://www.npmjs.com/ 网站。大同小异&#xff0c;自己搭建搭建方便局域网…

虾皮、Lazada稳定的测评系统需要哪些技术要求

测评作为一项高效运营手段&#xff0c;具有显著的重要性。然而&#xff0c;对于卖家而言&#xff0c;自行建立一套测评系统所需的技术条件并非易事。 在构建系统之前&#xff0c;必须深入理解每个平台的控制风险机制&#xff0c;而后才能开展下一步的建设工作。 1.首先&#…

代币化:2024年的金融浪潮预示着什么?

自“TradFi”领袖到加密专家&#xff0c;各方预测代币化机会高达数十万亿。虽然已有引人注目的用例&#xff0c;但与未来几年可能在链上转移的大量数字化资产相比&#xff0c;这些仅是冰山一角。 代币化何时会变为洪流&#xff1f;什么阻碍了其发展&#xff1f; 今年10月&…

SpringBoot下使用Quartz设置定时任务

SpringBoot下使用Quartz设置定时任务 基础使用添加依赖demo 基础使用 Quartz 的核心类有以下三部分&#xff1a; 任务 Job &#xff1a; 需要实现的任务类&#xff0c;实现 execute() 方法&#xff0c;执行后完成任务。触发器 Trigger &#xff1a; 包括 SimpleTrigger 和 Cr…

VGN S99快捷键,说明书

VGN S99快捷键-说明书 按键说明灯光效果常见疑难 按键说明 切换关闭电量指示灯&#xff1a;Fn home 灯光效果 常见疑难

服务器,数据库服务器各指标怎么看?

一&#xff09;服务器&#xff1a; 1&#xff09; 系统负载 load 1m,load 5m,load 15m分别是什么意思&#xff1f; 1m 表示过去 1 分钟的平均负载&#xff0c;5m 表示过去 5 分钟的平均负载&#xff0c;15m 表示过去 15 分钟的平均负载。系统负载是指系统在过去一段时间内处理的…

GPT5大剧第二季开启,Sam Altman 重掌 OpenAI CEO 大权

OpenAl 最新公告: Sam Altman 重掌 OpenAI CEO 大权&#xff0c;公司迎来新的初始董事会 Mira Murati 出任 CTO,Greg Brockman 再次成为总裁。来看看CEO Sam Altman和董事会主席 Bret Taylor的最新发言。 2023年11月29日 以下是 CEO Sam Altman和董事会主席 Bret Taylor 今天下…

在Docker上部署Springboot项目

在Docker上部署Springboot项目 ###1.安装docker 2.安装mysql 拉 Mysql 镜像 docker pull mysql:5.7.31运行 Mysql 5.7.31 第一次运行需要设置密码 docker run -d --name myMysql -p 9506:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD1234 mysql:5.7.31不是…