前端css3 filter属性的使用简介

2024年01月15日 16:26:16益点益滴1342

一、前言

在编写前端页面的动画效果时,或多或少会用到 filter 属性,由于其属性值过多,故本篇用于整理和记录其相关资料。

二、介绍

filter属性定义了元素(通常是)的可视效果。

属性值如下:

属性值 描述
none 默认值,没有效果。
blur(px) 给图像设置高斯模糊,则默认值是 0。
brightness(%) 给图片应用一种线性乘法,使其看起来更亮或更暗,默认值是 1。
contrast(%) 调整图像的对比度,默认值是 1。
grayscale(%) 将图像转换为灰度图像,默认值是 0。
hue-rotate(deg) 给图像应用色相旋转,默认值是 0deg。
invert(%) 反转输入图像,默认值是 0。
opacity(%) 转化图像的透明程度,默认值是 1。
saturate(%) 转换图像饱和度,默认值是 1。
sepia(%) 将图像转换为深褐色,默认值是 0。

注意:滤镜通常使用百分比 (如:75%), 当然也可以使用小数来表示 (如:0.75)。

三、演示代码

  <!DOCTYPE html>  <html lang="zh">  <head>      <meta charset="UTF-8">      <title>Document</title>      <style>          .container {              margin: 4rem auto;              width: 100%;              height: auto;              text-align: center;          }            .box {              display: inline-block;              margin: 1rem;          }            .box ul {              margin: 0;              padding: 0;              list-style: none;              text-align: left;          }            .box ul li {              margin: .25rem 0;              padding: .25rem;              cursor: pointer;          }            .box ul li:hover {              background-color: #eee;          }            ul li.active {              background-color: #eee;          }           .box img {              width: 260px;              height: 260px;          }        </style>  </head>  <body>      <div class="container">          <h3>点击左侧属性显示效果</h3>          <div class="box">              <ul>                  <li data-p="blur(5px)">filter: blur(5px)</li>                  <li data-p="brightness(.5)">filter: brightness(.5)</li>                  <li data-p="contrast(.5)">filter: contrast(.5)</li>                  <li data-p="grayscale(1)">filter: grayscale(1)</li>                  <li data-p="hue-rotate(90deg)">filter: hue-rotate(90deg)</li>                  <li data-p="invert(.4)">filter: invert(.4)</li>                  <li data-p="opacity(.4)">filter: opacity(.4)</li>                  <li data-p="saturate(.5)">filter: saturate(.5)</li>                  <li data-p="sepia(.5)">filter: sepia(.5)</li>              </ul>          </div>          <div class="box">              <div class="origin">                  <img src="https://tva3.sinaimg.cn/large/87c01ec7gy1frmmmwb3anj21hc0u0b2a.jpg" alt="">              </div>              <div>原图</div>          </div>          <div class="box">              <div id="filter">                  <img src="https://tva3.sinaimg.cn/large/87c01ec7gy1frmmmwb3anj21hc0u0b2a.jpg" alt="">              </div>              <div id="info">效果图</div>          </div>      </div>      <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>      <script>          $(function() {                  let $lis = $("li");                 $lis.on("click", function() {                      $lis.removeClass("active");                      let p = $(this).addClass("active").data("p");                      $("#filter").css({"filter": p});                      $("#info").text("filter: " + p);                 });          });      </script>  </body>  </html>

好了,以上就是前端css3 filter属性的使用简介相关的全部内容,希望对您有帮助!

超赞,真给力!嗯,必须鼓励~

打赏 0
账号:mxy310@163.com[复制]
账号:77940140[复制]