html滤镜无效果,为什么css滤镜(filter属性)没用?

为什么css滤镜(filter属性)没用?下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

1f34ca85e2155b0865940f6936fba85c.png

滤镜filter属性,可以对网页中的图片进行类似Photoshop图片处理的效果,h5时代的来临,我们可以通过css对图像进行处理。

为什么css滤镜(filter属性)没用?

css滤镜(filter)属性对浏览器有兼容问题。老版本的IE浏览器不支持filter(滤镜)属性,为了兼容低版本的safari和google浏览器,需要加上前缀-webkit-。

其实这个filter是CSS1的属性了,但是因为老版本的IE4.0~IE9对此支持不怎么感冒,对浏览器的支持也不稳定,因此这个属性只能当做实验性技术来观察。

filter(滤镜)属性现在规范中支持的效果有:grayscale 灰度(值为0-1之间的小数)filter:grayscale(1);

-webkit-filter:grayscale(1);

0表示灰度为0%,显示原图,1 表示灰度为100%灰色。

ed9a612c17a44427b55da0e7797f6eea.png

灰度

dd586e36cb2874cd25009231589583ba.pngsepia 褐色(值为0-1之间的小数)filter:sepia(1);

-webkit-filter:sepia(1);

0表示褐色度为0%,显示原图,1 表示褐色度为100%显示褐色。

28d8c0d80d947776ea9963f17a2d5ef3.pngsaturate 饱和度(值为num)filter:saturate(1.8);

-webkit-filter:saturate(1.8);

0表示饱和为0,图片显示黑白色,0.5表示饱和度为原图的一半,1表示饱和度等于原图,数值大于1表示饱和度加强。

d098b093b3ed52540e5246de84a392f6.pnghue-rotate 色相旋转(值为angle)角度degfilter:hue-rotate(60deg);

-webkit-filter:hue-rotate(60deg);

表示色相旋转的具体角度。

887e4c7c5bc539c6eb6cebefd72d5934.pnginvert 反色(值为0-1之间的小数)filter:invert(1);

-webkit-filter:invert(1);

0表示不反色显示原图,1表示100%完全反色。

20be365d927afceb38c138d67d9383fc.pngopacity 透明度(值为0-1之间的小数)filter:opacity(0.5);

-webkit-filter:opacity(0.5);

0表示完全透明,0.5表示半透明,1表示100%完全不透明。

71f7acff5ab93b0636807d252c856c63.pngbrightness 亮度(值为num)filter:brightness(2);

-webkit-filter:brightness(2);

0表示亮度为0,显示黑色,0.5表示亮度为原图的一半,1表示原图亮度,数值大于1表示亮度加强。

aea5e94823f7b03d7bc7bbb80453326c.pngcontrast 对比度(值为num)filter:contrast(1.8);

-webkit-filter:contrast(1.8);

0表示对比度为0,为纯色,0.5表示对比度为原图的一半,1为原图对比度,数值大于1,值越大,对比度越强。

1804a185252e1dcb617e964315ad39f7.pngblur 模糊(值为length)filter:blur(5px);

-webkit-filter:blur(5px);

表示虚化程度像素值。

cae989dd9f1e4994273270e8c721c9e2.pngdrop-shadow 阴影filter:drop-shadow(0 0 10px #000);

-webkit-filter:drop-shadow(0 0 10px #000);

和css3 box-shadow属性值一致。

14b74c6001a5a475a8ca392bd632a397.png多个属性值可以写一起,用空格隔开,类似transform多属性写法filter:saturate(1.8) blur(3px);

-webkit-filter:saturate(1.8) blur(3px);饱和度+模糊

29691c9fe85afecc5eb3fe79d6d2638a.png

更多web前端开发知识,请查阅 HTML中文网 !!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!关于 CSS filter 不起作用的问题,可能有几个常见的原因。以下是一些可能导致 CSS filter 无法生效的原因和解决方法: 1. 浏览器兼容性问题:某些 CSS filter 属性可能不被一些旧版本的浏览器支持。你可以使用浏览器兼容性前缀来尝试解决这个问题。例如,使用 `-webkit-filter` 前缀来支持 WebKit 内核的浏览器。 2. 元素定位问题:CSS filter 通常需要元素具有特定的定位,例如 relative、absolute 或 fixed。请确保你的元素使用了适当的定位属性。 3. 元素尺寸问题:有时候,CSS filter 可能需要元素具有明确的尺寸(宽度和高度)。请确保你的元素设置了合适的尺寸。 4. CSS 属性优先级问题:如果你在 CSS 中有多个规则应用到同一个元素上,并且其中某些规则具有更高的优先级,那么 filter 可能会被覆盖或失效。要解决这个问题,你可以增加特定规则的优先级(例如使用更具体的选择器或使用 `!important`)。 5. 元素堆叠顺序问题:如果元素被其他元素遮挡或位于后面,那么 filter 可能会被遮挡或无法显示。你可以尝试调整元素的堆叠顺序,例如使用 `z-index` 属性。 6. 图像内容不支持:某些 CSS filter 属性只能应用于支持滤镜的图像元素,如 `<img>` 或 `<video>`。如果你的 filter 应用在其他类型的元素上,可能会导致无效。请确保你应用 filter 的元素是支持滤镜的。 希望这些解决方法能够帮助你解决 CSS filter 不起作用的问题。如果问题仍然存在,请提供更多的细节和代码片段,以便我能够更好地帮助你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值