【发布时间】:2020-10-13 22:00:56
【问题描述】:
我正在尝试创建一个简单的纯 CSS 推送菜单。单击“设置”图标时,菜单会打开和关闭。这已经奏效了。但是,我希望将图标移动到灰色 div 内,并在单击时激活菜单。目前,设置点击仅在图标位于当前位置时有效。如果我将它移动到 div 内,什么也不会发生。
另外,我想通过单击菜单内的设置文本或左 V 形图标来关闭菜单。我尝试创建第二个菜单复选框和相关样式,如下所示;
#menu-toggle-2:checked + .menu-icon {
right: 30%;
}
但这样做只会将设置 div 移到菜单内;它并没有关闭菜单本身。
这是页面和菜单的html代码;
<head>
<style>
.content-container {
z-index: 0;
padding: 20px;
overflow: auto;
transition: all 300ms ease-in-out;
}
.slideout-sidebar {
position: fixed;
right: -28%;
z-index: 2;
width: 28%;
height: 100%;
padding: 20px;
transition: all 300ms ease-in-out;
}
.slideout-sidebar ul {
list-style: none;
}
.slideout-sidebar ul li {
cursor: pointer;
padding: 18px 0;
border-bottom: 1px solid #D1D4D7;
}
#menu-toggle {
display: none;
}
.menu-icon {
position: absolute;
top: 20px;
right: 20px;
z-index: 2;
transition: all 300ms ease-in-out;
cursor: pointer;
}
#menu-toggle:checked ~ .slideout-sidebar {
right: 0px;
}
#menu-toggle:checked + .menu-icon {
right: 30%;
}
#menu-toggle:checked ~ .content-container {
padding-right: 28%;
}
</style>
</head>
身体;
<body>
<input type="checkbox" id="menu-toggle" />
<label for="menu-toggle" class="menu-icon">
<img class="icon" src="images2/ic-of-settings-gy.svg" style="width:33px;height:33px;" />
</label>
<div id="divMenu" class="slideout-sidebar">
<ul>
<li>
<img class="icon" src="images2/ic-of-chevron-left-gy.svg" />
<span style="padding-left:10px">Settings</span>
</li>
<li>
About
</li>
<li>
Contact
</li>
</ul>
</div>
<div class="content-container">
<div class="container">
<div style="width:780px;height:800px;background-color:grey;">
</div>
</div>
</div>
</body>
这是设置菜单项的图像,我想在单击时关闭菜单;
提前致谢
【问题讨论】: