css的filter方法,给图片添加滤镜


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    img {
        /* blur() 函数将高斯模糊应用于输入图像。radius 定义了高斯函数的标准偏差值,或者屏幕上有多少像素相互融合,因此,较大的值将产生更多的模糊。若没有设置值,默认为0。该参数可以指定为 CSS 长度,但不接受百分比值。*/
        filterblur(5px);
        /* 将线性乘法器应用于输入图像,使其看起来或多或少地变得明亮。值为 0% 将创建全黑图像值为 100% 会使输入保持不变。其他值是效果的线性乘数。如果值大于 100% 提供更明亮的结果。若没有设置值,默认为 1。 */
        filterbrightness(0.4);
        /* 调整输入图像的对比度。值是 0% 的话,图像会全黑。值是 100%,图像不变。值可以超过 100%,意味着会运用更低的对比。若没有设置值,默认是 1。*/
        filtercontrast(200%);
        /* 对输入图像应用阴影效果。阴影可以设置模糊度的,以特定颜色画出的遮罩图的偏移版本,最终合成在图像下面。 函数接受<shadow>(在CSS3背景中定义)类型的值,除了 inset 和 spread 关键字 */
        filterdrop-shadow(16px 16px 20px blue);
        /* 将改变输入图像灰度。amount 的值定义了转换的比例。值为 100% 则完全转为灰度图像,值为 0% 图像无变化。值在 0% 到 100% 之间,则是效果的线性乘数。若未设置值,默认是 0。 */
        filtergrayscale(50%);
        /* 函数在输入图像上应用色相旋转。angle 一值设定图像会被调整的色环角度值。值为 0deg,则图像无变化。若值未设置值,默认为 0deg。该值虽然没有最大值,超过 360deg 的值相当于又绕一圈。 */
        filterhue-rotate(90deg);
        /* 反转输入图像。amount 的值定义转换的比例。100% 的价值是完全反转。值为 0% 则图像无变化。值在 0% 和 100% 之间,则是效果的线性乘数。 若值未设置值,默认为 0。 */
        filterinvert(75%);
        /* 转化图像的透明程度。amount 的值定义转换的比例。值为 0% 则是完全透明,值为 100% 则图像无变化。值在 0% 和 100% 之间,则是效果的线性乘数。也相当于图像样本乘以数量。 若值未设置,值默认是1。该函数与已有的 opacity 属性很相似,不同之处在于通过 filter,一些浏览器为了提升性能会提供硬件加速。 */
        filteropacity(25%);
        /* 转换图像饱和度。amount 的值定义转换的比例。值为 0% 则是完全不饱和,值为 100% 则图像无变化。其他值是效果的线性乘数。超过 100% 则有更高的饱和度。 若未设置值,默认为 1。 */
        filtersaturate(30%);
        /* 将图像转换为深褐色。amount 的值定义转换的比例。值为 100% 则完全是深褐色的,值为 0% 图像无变化。值在 0% 到 100% 之间,值是效果的线性乘数。若未设置,值默认是 0。 */
        filtersepia(60%);

        /* 复合函数。同事使用多个滤镜 */
        filtercontrast(175%brightness(3%);
        /* 不使用滤镜 */
        filternone;
    }

    .container {
        margin50px auto;
        height140px;
        width400px;
        /* 给融合元素的父元素设置背景色 */
        background#fff;
        displayflex;
        align-itemscenter;
        justify-contentcenter;
        /* 给融合元素的父元素设置contrast */
        filtercontrast(30);
    }

    .circle {
        border-radius50%;
        positionabsolute;
        /* 给融合元素设置blur */
        filterblur(15px);
    }

    .circle-1 {
        height90px;
        width90px;
        background#03a9f4;
        transformtranslate(-50px);
        animation2s moving linear infinite alternate-reverse;
    }

    .circle-2 {
        height60px;
        width60px;
        background#15ff00;
        transformtranslate(50px);
        animation2s moving linear infinite alternate;
    }

    @keyframes moving {

        /* //两个元素的移动 */
        0% {
            transformtranslate(50px)
        }

        100% {
            transformtranslate(-50px)
        }
    }
</style>

<body>
    <div class="container">
        <div class="circle circle-1"></div>
        <div class="circle circle-2"></div>
    </div>
    <!-- <img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20190214%2Fed33981873a044638a8bd45ed24bfe32.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1634967244&t=eb2d4e2c09282313b334a7c68587afbb"
        alt=""> -->
</body>

</html>
posted @ 2021-09-23 13:49  Cupid05  阅读(153)  评论(0编辑  收藏  举报