Можно ли написать такое CSS2 правило, что бы при данной структуре отображался ТОЛЬКО DIV.SHOW-1, т.е. «1». Если внешнему диву поменять класс на .SHOW-2, то будет показываться только 2. При этом что бы селектор не зависел от количества и имен потомков, а показывал только тот child класс которого совпадает с классом parent'а. При генерации не известно сколько child'ов у него будет.
UPD: пожалуйста, очень важно читайте вопрос. Особенно последнее предложение.
А вот в css3 я не великий спец, но мне кажется, что тоже нельзя.
Задача такова: грубо говоря, надо сохранить в переменную класс обертки, потом пробежаться по потомкам и выставить какое-то свойство потомку с классом, совпадающим с нашей переменной. Единственный метод, который приходит в голову для такого решения — экспрешшн х)
в CSS вообще не должно быть show-1. С привязкой к конкретным именам, как описанно в этом примере, я уже не раз делал. И вот в очередной раз решил узнать, нет ли универсального метода, что бы не создавать каждый раз эти стили вручную, а создать один универсальный на все.
А нафига?
Если смотреть в сторону того как делаются вложенные меню то там не надо таких хитровые.. замысловатых конструкций — все делается через вложенность подчиненных блоков и управление через :hover или .active Пояснить?
:hover не подходит.
.active это понятно, но значит что нужно через JS искать текущий .active элемент, убирать у него, искать элемент которому нужно поставить .active. А при рендеригне страницы в цикл нужно вставлять условие, что снижает читабельность да и приводит к лишним телодвижениям. Гораздо удобнее устанавливать класс в одном конкретном месте. Но средствами CSS2, как я понял, это едва ли возможно.
Я к тому что active вставляется в менюшке в одном месте а и сам элемент меняется и подчиненный список показывается
Искать обычно не надо — в той же менюшке это очевидно, а зависимые обьекты — вложены.
Номерные селекторы — однозначно неверное решение для css. И задача должна иметь нормальное решение без них.