Изменение родительского стиля и фокусе дочернего
Ребят, запутался в селекторах. Подскажите как реализовать следующую вещь (и можно ли это сделать):
<div class="a">
<div class="b">
<div class="c"></div>
<div class="c"></div>
<div class="c"></div>
</div>
</div>
задача: при фокусе "с" менять стиль у "а".
.a .c:focus{
/*задаем стиль фокусного "с"*/
}
А есть ли конструкция позволяющая менять стиль у "а" при ".c:focus"? или только javascript? |
Siend,
С дочернего на родительский с помощью css стиль не изменить, только скрипт. (если только margin:-XXpx, не вывести все элементы c за пределы b и а (т.е они их будут перекрывать) тогда фокус на a никак не сделать, кроме как ткнуть с Тады просто прописываем а:focus{ поскольку он будет лишь через фокус на с Можно сделать при этом псевдовидимость а и b, перекрыв их широкими бордерами с прозрачным цветом от блоков с |
Спасибо, идею понял)
просто такая вот проблема возникла: Есть выпадающий список, взят из примера (ссылка на пример). В примере при выборе пункта меню ничего не происходит, пока не кликнешь в сторону от меня, а я хочу добиться чтобы при нажатии на выпадающий пункт меню, все подменю скрывалось. <ul class="menu"> <li tabindex="0"> <span class="helix_subfont">Выбранный пункт меню</span> <ul class="submenu helix helix_subfont"> <li>Пункт меню</li> <li>Пункт меню</li> <li>Пункт меню</li> </ul> </li> </ul>
.submenu {
...
max-height: 0;
pointer-events: none;
}
.menu > li:hover .submenu, .menu > li:focus .submenu {
pointer-events: auto;
max-height: 2000;
...
}
Я решил проблему на jquery:
$(".menu .submenu li").click(function(e) {
$(".menu .submenu:hover").css({ "pointer-events": "none" });
});
$(".menu li").hover(function () {
$(".menu .submenu").css({ "pointer-events": "auto" });
}, function () {});
Но решение на css было бы красивее и правильнее( |
| Часовой пояс GMT +3, время: 02:58. |