Я хотел бы переключить фоновое изображение метки, когда я нажимаю на нее, и флажок, принадлежащий ему, отмечен или не установлен; все это с чистым CSS.Обмен ярлыком фона с чистым CSS
Пояснение: Метка, о которой мы говорим, это кнопка мобильного меню, и когда открывается меню, она должна быть заменена на X вместо трех горизонтальных баров. Когда меню закрыто, оно должно вернуться к норме.
Как я могу достичь этого в этом существующем контексте (см. Jsfiddle)?
jsfiddle with the existing functionality of the menu
Вот мой HTML:
<nav id="mobile-navigation" class="hidden-xl">
<label for="nav-trigger" id="label-trigger"></label>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<ul id="menu">
<li><a href="">Lorem ipsum</a></li>
<li><a href="">Lorem ipsum</a></li>
<li><a href="">Lorem ipsum</a></li>
<li><a href="">Lorem ipsum</a></li>
<li><a href="">Lorem ipsum</a></li>
</ul>
И здесь идет CSS с ним:
#mobile-navigation {
display: block;
width: 100%;
background-color: #000;
}
#menu {
display: none;
}
#menu li {
width: 100%;
text-align: center;
}
#menu li a {
display: block;
padding: 1em;
background-color: none;
color: #FFF;
font-size: 1.2em;
text-decoration: none;
font-family: "RotisRoman", Arial, Helvetica, san-serif;
font-size: 24px;
font-weight: 700;
}
#menu li a:hover {
color: #999;
}
label[for="nav-trigger"] {
position: fixed;
left: 30px;
top: 30px;
z-index: 2;
height: 50px;
width: 50px;
cursor: pointer;
background-image: url("http://www.circlecafebar.co.uk/photographs/nav-button.jpg");
}
/*this should be the image replacing the labels image*/
.nav-open {
background-image: url("/_images/close_btn.png");
}
#nav-trigger {
display: none;
}
.nav-trigger {
position: absolute;
clip: rect(0, 0, 0, 0);
}
.nav-trigger:checked + #menu {
display: block;
list-style: none;
position: fixed;
padding: 40px 0px;
width: 100%;
height: 100%;
top: 85px;
z-index: 2;
background-color: #d8d8d8;
margin: 0 auto;
}
Это возможно только, если вы поместите метку ниже * * флажка в разметке. – connexo
@connexo, а затем текущая функциональность больше не будет работать, верно? : s – snail
Вам нужно немного поменять его. См. Мой ответ. –