首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在没有js的情况下,有什么快速代码可以生成可点击的弹出菜单吗?

在没有js的情况下,有什么快速代码可以生成可点击的弹出菜单吗?
EN

Stack Overflow用户
提问于 2022-09-07 09:06:01
回答 1查看 34关注 0票数 1

代码语言:javascript
复制
/*---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;
  }
代码语言:javascript
复制
<!--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  &#187;</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。但问题是主菜单出现,但子菜单不出现时,你集中在某些愿望项目从列表。有什么我能做的吗?我只想建立一个非常基本的方法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-07 09:16:55

您可以使用复选框输入来使用:checked属性模拟这种行为。

通过隐藏复选框并使菜单图标成为输入元素的标签,您可以切换选中的状态并使用CSS在此基础上显示,而不是悬停。

代码语言:javascript
复制
/*---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;
}
代码语言:javascript
复制
<!--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  &#187;</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>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73632780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档