Другой пример когда мне нужно применить какой то стиль к
#responsive_page_template_content > div.page_content_ctn > div
Если в теге
#responsive_page_template_content > div.page_content_ctn > div > div > div
есть искомое мной значение, будь то класс .class или текст [href="text"]
body:has(#responsive_page_template_content > div.page_content_ctn > div > div > div.class[href="text"]) #responsive_page_template_content > div.page_content_ctn > div
{
…
}
Скажем выделить цвет красным, если Красный. Тут уже нужно что-то более глубокое чем CSS.
Обычно надо догадаться, какой принцип в структуре, и написать правильный селектор. Именно так и приходится делать, отключая баннеры в Яндекс.Почте, например, поскольку они генерируют классы и идентификаторы заново каждый раз и юблок не работает. Задача творческая и универсального ответа нет. (Кстати, они, судя по всему, начали бороться, определяя, что реклама не отобразилась и вставляя искусственные паузы в наказание).
Опять же, помогает :has(), типа «среди детей такого-то поищи такого-то, чтобы у него был класс banner на любой глубине вложенности».