我需要一个 CSS 过滤器来应用于容器中的所有元素,特定元素除外。解释情况的快速示例:
<div class="container">
<img class="one" src="blah" />
<img class="two" src="blah" />
<img class="three" src="blah" />
</div>
Run Code Online (Sandbox Code Playgroud)
然后我像这样应用过滤器:
.container {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
Run Code Online (Sandbox Code Playgroud)
因此容器应用了灰度过滤器,并且其中的所有 img 都变为灰色。但是,我希望其中一个 img 不会变成灰色:
.two {
-webkit-filter: grayscale(0);
filter: grayscale(0);
}
Run Code Online (Sandbox Code Playgroud)
但是,这是行不通的。容器的过滤器似乎覆盖了所包含元素的过滤器。有什么想法可以解决这个问题吗?有没有简单的方法,或者我是否必须编写一些 jQuery 来查看所有不是“.two”的元素并将过滤器应用于它们,而不是容器?
更新:我忽略了一个重要的警告:容器必须是灰度的,因为它有一个背景图像属性也将变成灰色。这个小片段是更多容器的一部分,这些容器也都变成了灰度,我真的只是想弄清楚是否有办法对父级的规则进行压倒性的豁免,因为父级必须有规则作为好。
| 归档时间: |
|
| 查看次数: |
4573 次 |
| 最近记录: |