如何将“多级菜单添加到汉堡菜单”

奥杰

所以有这个任务,我被赋予使用 CSS 为网页创建一个汉堡包多级菜单。这里的问题是添加一个子菜单,使其成为一个多层次的汉堡包。下面是我迄今为止为汉堡多级菜单编写的代码片段

body {
	margin: 0;
	padding: 0;
	/* make it look decent enough */
	background: #232323;
	color: #cdcdcd;
	font-family: "Avenir Next", "Avenir", sans-serif;
}
a {
	text-decoration: none;
	color: #fff;
	transition: color 0.3s ease;
}
a:hover {
	font-weight: bold;
}
#menuToggle {
	display: block;
	position: relative;
	top: 50px;
	left: 50px;
	z-index: 1;
	-webkit-user-select: none;
	user-select: none;
}
#menuToggle input {
	display: block;
	width: 40px;
	height: 32px;
	position: absolute;
	top: -7px;
	left: -5px;
	cursor: pointer;
	opacity: 0;
	z-index: 2;
	-webkit-touch-callout: none;
}
#menuToggle span {
	display: block;
	width: 33px;
	height: 4px;
	margin-bottom: 5px;
	position: relative;
	background: #fff;
	border-radius: 3px;
	z-index: 1;
	transform-origin: 4px 0px;
	transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), opacity 0.55s ease;
}
#menuToggle span:first-child {
	transform-origin: 0% 0%;
}
#menuToggle span:nth-last-child(2) {
	transform-origin: 0% 100%;
}
#menuToggle input:checked ~ span {
	opacity: 1;
	transform: rotate(45deg) translate(-2px, -1px);
	background: #fff;
}
#menuToggle input:checked ~ span:nth-last-child(3) {
	opacity: 0;
	transform: rotate(0deg) scale(0.2, 0.2);
}
#menuToggle input:checked ~ span:nth-last-child(2) {
	transform: rotate(-45deg) translate(0, -1px);
}
#menu {
	position: absolute;
	width: 300px;
	height: 1000px;
	margin: -100px 0 0 -90px;
	padding-top: 125px;
	background: #008040;
	list-style-type: none;
	-webkit-font-smoothing: antialiased;
	transform-origin: 0% 0%;
	transform: translate(-100%, 0);
	transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
}
#menu li {
	padding: 10px 0;
	font-size: 22px;
}
#menuToggle input:checked ~ ul {
	transform: none;
}
<nav role="navigation">
  <div id="menuToggle">
    <!-- checkbox is used as click reciever. -->
    <input type="checkbox" />

    <!-- spans to act as a hamburger. -->
    <span></span>
    <span></span>
    <span></span>
    
    <ul id="menu">
      <hr>
      <a href="#">
        <li>Home</li>
      </a>
      <hr>
      <a href="#">
        <li>About</li>
      </a>
      <hr>
      <a href="#">
        <li>Schedule</li>
      </a>
      <hr>
    </ul>
  </div>
</nav>

我希望输出是这样的, 在此处输入图片说明

但实际输出是

在此处输入图片说明

KEYYEI

我希望这有帮助

$(function() {
$('#menu > .item-submenu .submenu').click(function(){
    if($('.item-submenu .sub-menu').css('display') == 'none'){
            $('.item-submenu .sub-menu').css({'display':'block'});
    } else {
            $('#menu > .item-submenu .sub-menu').css({'display':'none'}); 
}
});
$('#menuToggle > input').click(function(){
    $('#menu > .item-submenu .sub-menu').css({'display':'none'}); 
});
});
       body {
            margin: 0;
            padding: 0;
            /* make it look decent enough */
            background: #232323;
            color: #cdcdcd;
            font-family: "Avenir Next", "Avenir", sans-serif;
        }
        a {
            text-decoration: none;
            color: #fff;
            transition: color 0.3s ease;
        }
        a:hover {
            font-weight: bold;
        }
        #menuToggle {
            display: block;
            position: relative;
            top: 50px;
            left: 50px;
            z-index: 1;
            -webkit-user-select: none;
            user-select: none;
        }
        #menuToggle input {
            display: block;
            width: 40px;
            height: 32px;
            position: absolute;
            top: -7px;
            left: -5px;
            cursor: pointer;
            opacity: 0;
            z-index: 2;
            -webkit-touch-callout: none;
        }
        #menuToggle span {
            display: block;
            width: 33px;
            height: 4px;
            margin-bottom: 5px;
            position: relative;
            background: #fff;
            border-radius: 3px;
            z-index: 1;
            transform-origin: 4px 0px;
            transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), opacity 0.55s ease;
        }
        #menuToggle span:first-child {
            transform-origin: 0% 0%;
        }
        #menuToggle span:nth-last-child(2) {
            transform-origin: 0% 100%;
        }
        #menuToggle input:checked ~ span {
            opacity: 1;
            transform: rotate(45deg) translate(-2px, -1px);
            background: #fff;
        }
        #menuToggle input:checked ~ span:nth-last-child(3) {
            opacity: 0;
            transform: rotate(0deg) scale(0.2, 0.2);
        }
        #menuToggle input:checked ~ span:nth-last-child(2) {
            transform: rotate(-45deg) translate(0, -1px);
        }
        #menu {
            position: absolute;
            width: 300px;
            height: 1000px;
            margin: -100px 0 0 -90px;
            padding-top: 125px;
            background: #008040;
            list-style-type: none;
            -webkit-font-smoothing: antialiased;
            transform-origin: 0% 0%;
            transform: translate(-100%, 0);
            transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
        }
        #menu li {
            padding: 10px 0;
            font-size: 22px;
        }
        #menuToggle input:checked ~ ul {
            transform: none;
        }
        .sub-menu li {
            list-style-type: none; 
            padding: 4px!important;
            margin-bottom: -5px;
            
        }
        .sub-menu li a {
            font-size: 17px;
        }
        .sub-menu {
        display: none;
        margin: 0px 0 0 -41px;
        background: #0000002e;
    }
    .item-submenu > a:after {
	font: normal normal normal 14px/1 FontAwesome;
  	font-size: inherit;
  	text-rendering: auto;
  	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
      content: "\f078";
	float: right;
    margin-right: 10px;
}
.item-submenu {
    margin-bottom: -14px;
}
<link href="http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<nav role="navigation">
            <div id="menuToggle">
              <!-- checkbox is used as click reciever. -->
              <input type="checkbox" />
          
              <!-- spans to act as a hamburger. -->
              <span></span>
              <span></span>
              <span></span>
              
              <ul id="menu">
                <hr>
                <a href="#">
                  <li>Home</li>
                </a>
                <hr>
                <li class="item-submenu">
                 <a href="#" class="submenu">About</a>
                <ul class="sub-menu">
                    <li><a href="#">The Organisation</a></li>
                    <hr>
                    <li><a href="#">The Team</a></li>
                </ul>
                </li>
                <hr>
                <a href="#">
                  <li>Schedule</li>
                </a>
                <hr>
              </ul>
            </div>
          </nav>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Wordpress:如何将url GET参数添加到主菜单项

来自分类Dev

如何将菜单选项添加到NSTextAttachment弹出菜单是UITextView?

来自分类Dev

如何将最近打开的文档添加到WPF中的OpenRecent菜单项

来自分类Dev

如何将glyphicon添加到spring struts菜单

来自分类Dev

如何将图像添加到primefaces菜单栏?

来自分类Dev

如何将子菜单添加到WordPress管理栏

来自分类Dev

如何将多个菜单部分添加到工具栏?

来自分类Dev

将侧边栏链接添加到Bootstrap“汉堡”菜单

来自分类Dev

如何将背景图像添加到离子型侧面菜单

来自分类Dev

如何将onclick事件添加到Wordpress菜单

来自分类Dev

如何将列表项动态添加到Foundation手风琴菜单

来自分类Dev

如何将活动班级添加到单击菜单项上的现有班级?

来自分类Dev

如何将Rhythmbox控件添加到声音菜单?

来自分类Dev

如何将项目添加到Xfce根菜单?

来自分类Dev

如何将消息菜单添加到xfce-panel 4.10?

来自分类Dev

如何将必须从其自己的目录中运行的程序添加到面板或主菜单?

来自分类Dev

如何将Matlab添加到主菜单?

来自分类Dev

如何将PyQt中的动态菜单项添加到QML抽屉中

来自分类Dev

如何将Windows Terminal添加到上下文菜单?

来自分类Dev

如何将滚动条添加到下拉菜单?

来自分类Dev

如何将Click事件处理程序添加到DataGrid上下文菜单?

来自分类Dev

如何将下拉菜单添加到嵌入式SwiftUI NavigationBarTitle中?

来自分类Dev

如何将Rhythmbox控件添加到声音菜单?

来自分类Dev

如何将选项选项卡式菜单添加到大型下拉菜单?

来自分类Dev

如何将项目添加到Xfce根菜单?

来自分类Dev

如何将Matlab添加到主菜单?

来自分类Dev

如何将子菜单添加到导航菜单

来自分类Dev

如何将下拉菜单项添加到我的水平菜单栏中?

来自分类Dev

Lubuntu-如何将软件添加到菜单

Related 相关文章

  1. 1

    Wordpress:如何将url GET参数添加到主菜单项

  2. 2

    如何将菜单选项添加到NSTextAttachment弹出菜单是UITextView?

  3. 3

    如何将最近打开的文档添加到WPF中的OpenRecent菜单项

  4. 4

    如何将glyphicon添加到spring struts菜单

  5. 5

    如何将图像添加到primefaces菜单栏?

  6. 6

    如何将子菜单添加到WordPress管理栏

  7. 7

    如何将多个菜单部分添加到工具栏?

  8. 8

    将侧边栏链接添加到Bootstrap“汉堡”菜单

  9. 9

    如何将背景图像添加到离子型侧面菜单

  10. 10

    如何将onclick事件添加到Wordpress菜单

  11. 11

    如何将列表项动态添加到Foundation手风琴菜单

  12. 12

    如何将活动班级添加到单击菜单项上的现有班级?

  13. 13

    如何将Rhythmbox控件添加到声音菜单?

  14. 14

    如何将项目添加到Xfce根菜单?

  15. 15

    如何将消息菜单添加到xfce-panel 4.10?

  16. 16

    如何将必须从其自己的目录中运行的程序添加到面板或主菜单?

  17. 17

    如何将Matlab添加到主菜单?

  18. 18

    如何将PyQt中的动态菜单项添加到QML抽屉中

  19. 19

    如何将Windows Terminal添加到上下文菜单?

  20. 20

    如何将滚动条添加到下拉菜单?

  21. 21

    如何将Click事件处理程序添加到DataGrid上下文菜单?

  22. 22

    如何将下拉菜单添加到嵌入式SwiftUI NavigationBarTitle中?

  23. 23

    如何将Rhythmbox控件添加到声音菜单?

  24. 24

    如何将选项选项卡式菜单添加到大型下拉菜单?

  25. 25

    如何将项目添加到Xfce根菜单?

  26. 26

    如何将Matlab添加到主菜单?

  27. 27

    如何将子菜单添加到导航菜单

  28. 28

    如何将下拉菜单项添加到我的水平菜单栏中?

  29. 29

    Lubuntu-如何将软件添加到菜单

热门标签

归档