/*---POPUP MENU CSS---*/
.box{
position:fixed;
top: 0.1%;
left: 14px;
display: inline-block;
cursor: pointer;
}
ul{
list-style-type: none;
}
ul li{
font-family: Lato;
padding: 10px;
}
ul li a{
text-decoration: none;
color: black;
}
ul li:hover{
background-color: bisque;
}
.box1{
position: absolute;
top:3%;
left:15px;
z-index: 1;
background-color: floralwhite;
max-width: 260px;
box-sizing: border-box;
box-shadow: 2px 5px 15px black;
display: none;
}
.box2{
position: absolute;
top:3%;
left:8%;
z-index: 2;
background-color: floralwhite;
max-width: 260px;
box-sizing: border-box;
box-shadow: 2px 5px 15px black;
display: none;
}
.box:hover .box1{
display: block;
}
#nav li:focus .box2 {
display:block;
}<!--box-->
<div class="box">
<img src="https://img.icons8.com/ios-filled/344/menu-rounded.png"
height="35px"width="35px" id="menu">
<!--box1-->
<div class="box1">
<ul>
<li id="nav"><a href="#">item1 »</a></li>
<li><a href="#">item2</a></li>
<li><a href="#" >item3</a></li>
<li><a href="#">item4</a></li>
<li><a href="#" >item5</a></li>
<li><a href="#">item6</a></li>
</ul>
</div>
</div>
<!--box2-->
<div class="box2">
<ul>
<li><a href="#">sub-item1</a></li>
<li><a href="#">sub-item2</a></li>
<li><a href="#">sub-item3</a></li>
<li><a href="#">sub-item4</a></li>
</ul>
</div>
我试图创建一个弹出菜单,当您单击或悬停在一个小图像(基本上是一个图标),只有html和css,没有js。但问题是主菜单出现,但子菜单不出现时,你集中在某些愿望项目从列表。有什么我能做的吗?我只想建立一个非常基本的方法
发布于 2022-09-07 09:16:55
您可以使用复选框输入来使用:checked属性模拟这种行为。
通过隐藏复选框并使菜单图标成为输入元素的标签,您可以切换选中的状态并使用CSS在此基础上显示,而不是悬停。
/*---POPUP MENU CSS---*/
.box {
position: fixed;
top: 0.1%;
left: 14px;
display: inline-block;
cursor: pointer;
}
ul {
list-style-type: none;
}
ul li {
font-family: Lato;
padding: 10px;
}
ul li a {
text-decoration: none;
color: black;
}
ul li:hover {
background-color: bisque;
}
.box1 {
position: absolute;
top: 3%;
left: 15px;
z-index: 1;
background-color: floralwhite;
max-width: 260px;
box-sizing: border-box;
box-shadow: 2px 5px 15px black;
display: none;
}
.box2 {
position: absolute;
top: 3%;
left: 8%;
z-index: 2;
background-color: floralwhite;
max-width: 260px;
box-sizing: border-box;
box-shadow: 2px 5px 15px black;
display: none;
}
#nav li:focus .box2 {
display: block;
}
/**
* Checkbox toggle
*/
/* hide the checkbox */
.menu-toggle {
display: none;
}
/* display the box when input is checked */
.menu-toggle:checked ~ .box1 {
display: block;
}<!--box-->
<div class="box">
<!-- hidden checkbox -->
<input class="menu-toggle" id="menu-toggle" type="checkbox" />
<!-- label for the toggle -->
<label for="menu-toggle">
<img src="https://img.icons8.com/ios-filled/344/menu-rounded.png"
height="35px"width="35px" id="menu">
</label>
<!--box1-->
<div class="box1">
<ul>
<li id="nav"><a href="#">item1 »</a></li>
<li><a href="#">item2</a></li>
<li><a href="#">item3</a></li>
<li><a href="#">item4</a></li>
<li><a href="#">item5</a></li>
<li><a href="#">item6</a></li>
</ul>
</div>
</div>
<!--box2-->
<div class="box2">
<ul>
<li><a href="#">sub-item1</a></li>
<li><a href="#">sub-item2</a></li>
<li><a href="#">sub-item3</a></li>
<li><a href="#">sub-item4</a></li>
</ul>
</div>
https://stackoverflow.com/questions/73632780
复制相似问题