Я создаю вертикальное раскрывающееся меню с несколькими подменю, которое отображается только тогда, когда я щелкаю по соответствующему значку (который является стрелкой вниз) в меню.после того, как показано подменю, стрелка угла вниз должна быть обращена, чтобы быть стрелкой угла вверх, которая при каждом нажатии подменю снова исчезает.
что я мог сделать до сих пор, так это то, что когда я нажимаю кнопку угла внизСтрелка в первый раз, когда подменю движется, но не возвращена стрелка или какая-либо другая функция, поэтому я не могу скрыть подменю снова.
HTML: один примерный пункт меню
<li class="menu">
<a href="#" tabindex=0>First</a>
<label for="close-1" ><i class="fa fa-angle-up"></i></label>
<input type="radio" id="close-1" name="toggle1" >
<label for="open-1"><i class="fa fa-angle-down" ></i></label>
<input type="radio" name="toggle1" id="open-1">
<ul class="sub-menu">
<li><a href="#">Test</a></li>
<li><a href="#">Test</a></li>
</ul>
</li>
CSS:
input[type="radio"] {
display: none;
}
.menu {
position: relative;
padding: 1em ;
font-weight: 700;
width: 100%;
border: 1px solid #eee;
border-right: none;
}
.sub-menu {
max-height: 0;
transition: max-height 0.4s ease-in-out;
overflow: hidden;
padding: 0.5em;
}
.menu label {
position: absolute;
right: 10px;
top: 20px;
transition: 0.4s ease-in-out;
}
input[type="radio"]:checked + .sub-menu{
max-height: 320px;
transition: max-height 0.4s ease-in-out;
}
Я пытался сделать что-то подобное, но это не сработало
input[type="radio"]:checked label:nth-of-type(2) {
opacity: 0;
visibility: hidden;
}
input[type="radio"]:checked label:nth-of-type(1) {
opacity: 1;
visibility: visible;
}
Моя идея состоит в том, чтобы переключить две стрелки, и я думаю, что моя проблема будет решена, ноЯ понятия не имею, чтобы достичь этого без JS.