css 模糊-CSS过滤器(filter)详解

说起滤镜,大家可能首先想到的是photoshop等绘图软件,通过滤镜可以美化图片。 在CSS中,我们无需使用任何软件就可以实现多种滤镜效果,例如模糊效果、透明效果、颜色对比度调整、颜色反转等等。 此外,网页中的元素或视频可以通过CSS中的过滤器进行处理。 在本节中,我们将学习 CSS 中过滤器的使用。

CSS中滤镜的效果需要通过filter属性和一些函数来实现,如下所示:

过滤器说明

没有任何

默认值,表示没有效果

模糊(像素)

为图像设置高斯模糊,默认值为0,单位为像素,值越大越模糊

亮度(%)

调整图像的亮度,默认值为100%css 模糊,代表原始图像; 0%表示无色温,图像将是全黑的; 当该值超过100%时,图像会显得更亮

对比(%)

调整图像的对比度,默认值为100%,代表原始图像; 0% 将使图像全黑; 当该值超过100%时,图像将获得更高的对比度

drop-shadow(h 阴影 v 阴影模糊扩散颜色)

为图片添加阴影效果,参数说明如下: 注:Chrome、Safari、Opera等浏览器不支持第四个参数,如果添加则没有效果

灰度(%)

将图像转换为灰度图像。 默认值为0%,表示原始图像; 100%表示图像完全转换为灰度图像(即黑白图像)。 不允许使用负值

色调旋转(deg)

对图像应用色调旋转。 该值用于定义色环的程度。 默认值为0deg,代表原始图像,最大值为360deg

倒置(%)

反转图像,默认值为0%,表示原图像; 100%表示完全相反,不允许负值

不透明度(%)

设置图像的不透明度,默认值为100%,表示原始图像; 0%表示完全透明,不允许负值

饱和度(%)

设置图像的饱和度,默认值为100%,表示原始图像; 0%表示图像完全不饱和,不允许负值

棕褐色(%)

将图像转换为棕褐色,默认值为0%,表示原始图像; 100%表示图像完全变成棕褐色,不允许负值​​​​

网址()

url()函数用于指定设置了SVG过滤器的XML文件,并且可以包含锚点来指定特定的过滤器元素

最初的

将属性设置为其默认值

继承

从父元素继承该属性的值

提示:这些CSS函数的参数值基本都在0~1(0%~100%)之间,但也有少数例外,例如blur()函数的参数值以像素为单位,而Hue-rotate( ) 函数参数值以“deg”为单位。

[示例] 下面是一个示例来演示 CSS 中过滤器的使用:




    
        div {
            width: 200px;
            height: 200px;
            float: left;
            position: relative;
        }
        div span {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            text-shadow: 1px 1px 2px black;
        }
        img {
            width: 100%;
        }
        div img.blur {
            filter: blur(4px);
        }
        div img.brightness {
            filter: brightness(250%);
        }
        div img.contrast {
            filter: contrast(180%);
        }
        div img.grayscale {
            filter: grayscale(100%);
        }
        div img.huerotate {
            filter: hue-rotate(180deg);
        }
        div img.invert {
            filter: invert(100%);
        }
        div img.opacity {
            filter: opacity(50%);
        }
        div img.saturate {
            filter: saturate(7);
        }
        div img.sepia {
            filter: sepia(100%);
        }
        div img.shadow {
            filter: drop-shadow(8px 8px 10px green);
        }
    


    
原始图像
blur(4px)
brightness(250%)
contrast(180%)
grayscale(100%)
hue-rotate(180deg)
invert(100%)
opacity(50%)
saturate(7)
sepia(100%)
drop-shadow(8px 8px 10px green)

运行结果如下图所示:

图:过滤器属性演示

另外,还可以对同一个元素使用多种滤镜效果css 模糊,只需要将各个滤镜功能用空格分隔即可,示例代码如下:




    
        div {
            width: 300px;
            height: 300px;
            position: relative;
        }
        div span {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            text-shadow: 1px 1px 2px black;
        }
        img {
            width: 100%;
            filter: sepia(90%) saturate(400%) brightness(150%);
        }
    


    
sepia(90%) saturate(400%) brightness(150%)

运行结果如下图所示:

图:过滤器组合

注意:多种滤镜效果组合使用时,要十分注意使用顺序,否则会形成意想不到的效果。 例如,在grayscale()之后使用sepia()将形成完整的灰度图像。

不仅是图片,任何HTML元素都可以使用滤镜效果,比如文本、视频等都可以通过滤镜进行美化,示例代码如下:




    
        div {
            filter: blur(2px) contrast(50%) brightness(80%);
        }
    


    
说起滤镜可能大家首先想到的就是 PhotoShop 之类的制图软件,通过此类软件的滤镜可以对图片进行美化。而在 CSS 中,我们无需借助任何软件也可以实现很多种滤镜效果,例如模糊效果、透明效果、色彩反差调整、色彩反相等等。另外,通过 CSS 中的滤镜还能对网页中的元素或者视频进行处理。

运行结果如下图所示:

图:为页面中其他元素设置滤镜效果

提示:IE浏览器不支持filter属性

hint.css是使用css的提示框

提示css不在本地磁盘上_css 提示

源代码示例有:

    	

HINT.css

一个提示框tooltip库使用CSS

提示在顶部

提示在右边

提示在底部

提示在左边

hint--error错误提示信息框

hint--warning提示信息框

hint--infoInfo的提示信息框

hint--success成功提示信息框

Extra

一直显示的tooltips...

边角为圆形提示框

css 提示_提示css不在本地磁盘上

自己执行的业务逻辑的验证码:

    
        
        
        使用业务意义进行测试
        
        
        
    
    
		

一个提示框tooltip库使用CSS

用户名: (用户名由5-10位字母和数字组成) 只能使用a标签

在里面进行测试后发现(IE9以前是浏览器)只能在a标签中使用css 提示css 提示,使用范围有限,所以在项目中使用时要注意