Webkit un-invert invert()图像?

时间:2013-03-29 05:04:27

标签: css css3 webkit

我在我的css中的某些图像上使用了invert(),它正确地反转它们,但是当我再次对它们运行invert()以使它们恢复正常时,它们(这是我的问题)它们并不完全相同。亮度或对比度发生变化,它们有点褪色。为什么这是一个解决方法?有各种各样的revert()函数吗?反转()对图像究竟做了什么?

TIA!

UPDATE;这是理解问题的最佳方式(带注释):http://jsbin.com/uzicaz/2/edit

2 个答案:

答案 0 :(得分:2)

您正在使用两个不同的选择器应用相同的CSS指令。

执行此操作时,指令不会应用两次。其中一个被另一个覆盖:

enter image description here

不太重要的一个被取消,而更重要的一个被应用。但两者是相同的,因此该指令只应用一次。

要取消第一个声明而不再重新应用它,请在第二个声明中将指令设置为none

img {
  -webkit-filter: invert() brightness(100%) contrast(100%);
}

#photo1 {
  -webkit-filter: none;
}

PS invert() brightness(100%) contrast(100%)组合为我生成一张空白图像。如果您要将其设为空白,请改用visibility: hidden;

答案 1 :(得分:1)

实际上,我认为你真正需要的东西要容易得多。如果你想要的只是保持图像,那么:

img {
  -webkit-filter: invert();
}

#photo1 {
   -webkit-filter: none;

}

是你的解决方案。 img将被反转(或任何你想要的),但img与id = photo1不会。 请注意,并不是要撤消元素中的效果,而是覆盖它,因此转换永远不会发生。