【发布时间】:2021-11-16 17:21:20
【问题描述】:
我试图在标题和菜单中设置汉堡菜单以从标题下方的内容侧面切换,但我遇到了问题。
我认为由于某种原因,如果 checkboox 与 #sidebarMenu 本身位于不同的 div 中,则选择器 input[type="checkbox"]:checked ~ #sidebarMenu 不想工作。
#sidebarMenu, .sidebarMenu {
height: 100%;
width: 250px;
transform: translateX(-270px);
transition: transform 250ms ease-in-out;
background: #fff;
z-index: 1;
display: flex;
position: fixed;
top: 0;
left: 0;
right: 0;
vertical-align: middle;
margin-top: 0px;
box-shadow: 0px 2px 5px 5px rgb(0 0 0 / 16%), 0 0px 10px 1px rgb(0 0 0 / 12%);
}
input[type="checkbox"]:checked ~ #sidebarMenu {
transform: translateX(0) !important;
}
这不起作用:
<div class="container">
<input type="checkbox" class="openSidebarMenu" id="openSidebarMenu">
<label for="openSidebarMenu" class="sidebarIconToggle">
<div class="spinner diagonal part-1"></div>
<div class="spinner horizontal"></div>
<div class="spinner diagonal part-2"></div>
</label>
</div>
<div id="content" class="site-content container clear">
<div id="sidebarMenu">
<ul class="sidebarMenuInner">
</ul>
</div>
</div>
这行得通:
<div class="container">
<input type="checkbox" class="openSidebarMenu" id="openSidebarMenu">
<label for="openSidebarMenu" class="sidebarIconToggle">
<div class="spinner diagonal part-1"></div>
<div class="spinner horizontal"></div>
<div class="spinner diagonal part-2"></div>
</label>
<div id="sidebarMenu">
<ul class="sidebarMenuInner">
</ul>
</div>
</div>
【问题讨论】: