Как мне настроить таргетинг только на один экземпляр соседнего элемента с помощью uBlock Origin?CSS

Разбираемся в CSS
Anonymous
 Как мне настроить таргетинг только на один экземпляр соседнего элемента с помощью uBlock Origin?

Сообщение Anonymous »

Проблема
Я работаю над фильтром uBlock Origin (т. е. селектором CSS) для веб-страницы, содержащей элементы .post, разделенные тегами . Например: Я хочу создать фильтр, чтобы скрыть все сообщения, в которых data-source="sponsored", и удалить ровно один соседний элемент до или после сообщения. Цель — фильтровать сообщения, не оставляя лишних границ . Например: Попытки решения
Я попробовал несколько разных селекторов CSS, но у каждого были проблемы.
  • Если я скрою только .post, у меня появятся дополнительные границы.

Код: Выделить всё

example.com##.post[data-source="sponsored"]
  • Если я скрою .post и следующий за ним , останется дополнительная граница, если последнее сообщение будет отфильтровано.

Код: Выделить всё

example.com##.post[data-source="sponsored"]
example.com##.post[data-source="sponsored"] + hr
  • Если я скрою .post, следующий и предыдущий , у меня может не остаться границы между двумя действительными сообщениями.

Код: Выделить всё

example.com##hr:has(+ .post[data-source="sponsored"])
example.com##.post[data-source="sponsored"]
example.com##.post[data-source="sponsored"] + hr
Вопрос
Как создать фильтр (или фильтры) uBlock Origin, который скрывает как соответствующий элемент .post, так и ровно один соседний элемент ?


Подробнее здесь: https://stackoverflow.com/questions/798 ... ock-origin

Вернуться в «CSS»