我希望用CSS做一个菜单图标,就像在这个链接中一样:http://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_menu_icon_js。但是我不想在我的代码中使用JavaScript。
这是HTML代码:
这是HTML代码:
<body>
<input type="checkbox" id="showblock" />
<div id="mySidenav" class="sidenav"> <!-- CSSnya di 2691 -->
<img class="logo1" src="../img/logo1.png"><br><br>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Contact</a>
</div>
<div id ="contoh" class="content-section-b">
<div class="mobiletoggle" >
<label for="showblock" class="bar1"></label>
<label for="showblock" class="bar2"></label>
<label for="showblock" class="bar3"></label>
</div>
</body>
以及 CSS 代码:
.mobiletoggle{ float:right;}
.mobiletoggle label{ display: block; cursor: pointer; }
#showblock{
display: none;
}
.bar1, .bar2, .bar3 {
width: 30px;
height: 3px;
background-color: #333;
margin: 6px 0;
transition: 0.4s;
}
.change .bar1 {
-webkit-transform: rotate(-45deg) translate(-9px, 6px) ;
transform: rotate(-45deg) translate(-9px, 6px) ;
}
.change .bar2 {opacity: 0;}
.change .bar3 {
-webkit-transform: rotate(45deg) translate(-8px, -8px) ;
transform: rotate(45deg) translate(-8px, -8px) ;
}
@media screen and (min-width:768px){.mobiletoggle{ display:none;}}
@media screen and (max-width:767px) {
.sidenav{
width:0px;
height: 100%;
padding-top: 3%;
background-color: #fff;
opacity: 0.9;
}
#showblock:checked + .sidenav {
width: 85%;
transition: 0.8s;
}
#showblock:checked + .bar1 {
-webkit-transform: rotate(-45deg) translate(-9px, 6px) ;
transform: rotate(-45deg) translate(-9px, 6px) ;
}
#showblock:checked + .bar2 {opacity: 0;}
#showblock:checked + .bar3 {
-webkit-transform: rotate(45deg) translate(-8px, -8px) ;
transform: rotate(45deg) translate(-8px, -8px) ;
}}
我不知道如何只使用CSS来使用.change
,就像链接中的示例一样(它使用了JavaScript),因此我使用#showblock:checked + .bar
来操作动画。我该如何使用CSS中的.change
?