Я работаю над отзывчивым меню css + jquery, у меня есть флажок с текстом (символ «+», который превращается в «x» после нажатия), который показывает меню, однако по какой-то причине флажок исчезает после Я щелкаю, чтобы закрыть меню, и я хочу это исправить.
Вот HTML:
<header>
<nav>
<div class="toggle">
<input type="checkbox" id="hacky-input">
<label for="hacky-input">
<div class="crossRotate">+</div>
</label>
</div>
<ul>
<li><a href="#">ABOUT</a></li>
<li><a href="#">PROJECTS</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
</nav>
</header>
и css:
a {
text-decoration: none;
color: gray;
padding: 0 50px;
}
header {
height: 12vh;
display: flex;
flex-direction: row;
justify-content: center;
}
nav {
display: flex;
flex-direction: column;
justify-content: space-around;
height: 100%;
flex-grow: 1;
}
li {
display: inline-block;
list-style-type: none;
height: 100%;
font-size: 18px;
}
@media (max-width:768px) {
.logo {
display: none;
}
ul {
display: none;
}
.menu {
float: right;
font-size: 60px;
padding-right: 20px;
cursor: pointer;
}
#hacky-input {
display: none;
}
.crossRotate {
float: right;
padding-right: 50px;
font-size: 60px;
width: 5px;
color: rgb(0, 166, 231);
cursor: pointer;
-webkit-transition-duration: 1s;
-moz-transition-duration: 1s;
-ms-transition-duration: 1s;
-o-transition-duration: 1s;
transition-duration: 1s;
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
-ms-transition-property: -ms-transform;
-o-transition-property: -o-transform;
transition-property: transform;
}
#hacky-input:checked+label .crossRotate {
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.toggle {
display: block;
width: 100%;
}
ul li {
display: block;
padding: 0;
width: 100%;
text-align: center;
}
.active {
display: block;
}
ul {
display: none;
}
}
и JS:
$(document).ready(function() {
$('.crossRotate').click(function() {
$('ul').toggleClass('active');
})
})
Вот jsfiddle