Я пытаюсь выполнить переключение в чистом CSS с помощью псевдо-селектора focus.
Моя проблема в том, что я пытаюсь сделать фокус на родительском элементе и изменить как дочерние элементы, так и смежный селектор.
<p class="collapser" tabindex="0">FILTERS
<span class="dblArrow right">
<i class="icon icon-double-chevron-right" tabindex="0">>></i>
<i class="icon icon-double-chevron-left" tabindex="0"><<</i>
</span>
</p>
<ul class="filters">.....
При нажатии на свертку (или стрелки в <i>
) я хочу отобразить <ul>
или скрыть его и изменить стрелки.
Вы можете просмотреть демонстрациюто, чего я достиг до сих пор: http://jsfiddle.net/TmzC7/9/ У него есть недостатки: когда вы щелкаете в любом месте вне свертки, фильтры скрываются.Чтобы скрыть фильтры, вы должны нажимать на стрелки.
Если есть решение, позволяющее стрелкам или всему сворачивателю (лучше) обрабатывать стрелки переключения и переключения, это было бы здорово, ноЯ считаю, что вы должны использовать JavaScript для этого ...
Я пытался сделать что-то вроде:
.collapser:focus .icon-double-chevron-right:focus + .icon-double-chevron-left {
opacity:1;
text-indent:0;
}
, чтобы обнаружить щелчок по стрелкам, но это не сработало.Я предполагаю, что фокус не всплывает.
Есть ли хитрость (например, игра на tabindex или что-то еще), чтобы достичь этого без JavaScript?