Мне нужен фильтр CSS для применения ко всем элементам в контейнере, за исключением конкретных. Быстрый пример, чтобы объяснить ситуацию:Применение CSS-фильтра для всех, кроме определенных подэлементов
<div class="container">
<img class="one" src="blah" />
<img class="two" src="blah" />
<img class="three" src="blah" />
</div>
Тогда я подаю фильтры, как так:
.container {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
}
Так контейнер имеет полутоновый фильтр, примененный к нему, и всем IMG в нем поседела. Тем не менее, я хочу, чтобы один из img не переключился на серый:
.two {
-webkit-filter: grayscale(0);
filter: grayscale(0);
}
Однако, это не работает. Фильтр контейнера, по-видимому, перекрывает фильтр содержащегося элемента. Любые идеи, как я могу обойти это? Есть ли простой способ, или мне нужно написать некоторый jQuery, чтобы посмотреть на все элементы, которые не являются «.two», и применять фильтр к ним, а не к контейнеру?
Обновление: Я забыл упомянуть о важном предостережении. Контейнер должен быть серого, из-за которого имеет свойство background-image, которое также должно быть серого. Этот маленький фрагмент является частью большего количества контейнеров, все из которых также идут в оттенках серого, я просто пытаюсь выяснить, есть ли способ получить исключение из правила для родителя, поскольку родитель должен иметь это правило как Что ж.
Довольно просто ... НЕТ. 'filter', как' opacity', применяется к родительскому и ** всем * * дочерним элементам и не может быть перенаправлен, установив стиль конкуренции на дочерний элемент. –
Это то, чего я боялся. Ну что ж! Угадайте, что это нужно сделать более сложным способом. – SpaceMouse