首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >创建子菜单html

创建子菜单html
EN

Stack Overflow用户
提问于 2018-04-24 14:37:52
回答 2查看 2.1K关注 0票数 0

嘿,我有一个相当多的设计,我的下拉菜单,我有麻烦添加一个子菜单,让我们说,在下拉菜单上的第一个元素-cotent div。

我只想让子菜单从定义了子菜单的悬停位置开始,向右并以与当前子菜单相同的方式下拉。下面是我的html:

代码语言:javascript
复制
    <nav>
          <div class="main-nav">
            <ul class="left">
              <li class="dropdown"><a href="#">Home</a>
                <div class="dropdown-content">
                  <a href="#">Third</a>
                  <a href="#">Third Link</a>
                  <a href="#">Third Link 3</a>
                </div>
              </li>
              <li><a href="#">Gods</a></li>
              <li><a href="#">Goddesses</a></li>
            </ul>
            <div class="play-now"></div>
            <ul class="right">
              <li><a href="#">Heroes</a></li>
              <li><a href="#">Myths</a></li>
              <li><a href="#">Beasts</a></li>
            </ul>
          </div>
        </nav>

下面是所有内容的css:

代码语言:javascript
复制
nav {
    padding-left: 5px
}

nav .main-nav {
    height: 80px;
    width: 100%;
    margin-top: 64px;
    background: url(../images/navHeader.png) no-repeat top;
    position: relative
}

nav .main-nav ul {
    width: 360px;
    height: 80px;
    margin-top: 2px;
    padding: 0;
    list-style-type: none
}

nav .main-nav ul a,
nav .main-nav ul li {
    display: inline-block;
    width: 105px;
    line-height: 80px;
    height: 80px

}

nav .main-nav .dropdown-content a {
  height: auto;
  line-height: initial;
  padding: 3px 0;
}

nav .main-nav ul a {
    text-align: center;
    font-weight: 550;
    font-size: 12px;
    color: #84827d;
    text-shadow: 1px 1px 1px 1px #000;
    text-transform: uppercase;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out
}

nav .main-nav ul a:hover {
    text-decoration: none;
    color: #7289da
}
nav .main-nav li .dropdown {

}
nav .main-nav .dropdown-content {
    position: absolute;
    display: none;
    float: left;
    z-index: 10;
    -webkit-box-shadow: 0 3px 5px 0 #999;
    -moz-box-shadow: 0 3px 5px 0 #999;
    box-shadow: 0 3px 5px 0 #999;
    border: 1px solid #CCC;
    background: #3A4FC5;
    color: #656161;
    opacity: .8;
    min-width: 30px;
    top: 60px;
}

nav .main-nav .dropdown-content a {
    color: black;
    text-decoration: none;
    display: block;
    text-align: center;
}
nav .main-nav .dropdown-content a:hover {
    background-color: #3A4FC5
}

nav .main-nav .dropdown:hover .dropdown-content {
    display: inline-block;
}

nav .main-nav ul.left {
    float: left;
    margin-left: 5px;
}

nav .main-nav ul.right {
    float: right;
    margin-left: 5px
}

这是一个代码片段,

代码语言:javascript
复制
nav {
    padding-left: 5px
}

nav .main-nav {
    height: 80px;
    width: 100%;
    margin-top: 64px;
    background: url(../images/navHeader.png) no-repeat top;
    position: relative
}

nav .main-nav ul {
    width: 360px;
    height: 80px;
    margin-top: 2px;
    padding: 0;
    list-style-type: none
}

nav .main-nav ul a,
nav .main-nav ul li {
    display: inline-block;
    width: 105px;
    line-height: 80px;
    height: 80px

}

nav .main-nav .dropdown-content a {
  height: auto;
  line-height: initial;
  padding: 3px 0;
}

nav .main-nav ul a {
    text-align: center;
    font-weight: 550;
    font-size: 12px;
    color: #84827d;
    text-shadow: 1px 1px 1px 1px #000;
    text-transform: uppercase;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out
}

nav .main-nav ul a:hover {
    text-decoration: none;
    color: #7289da
}
nav .main-nav li .dropdown {

}
nav .main-nav .dropdown-content {
    position: absolute;
    display: none;
    float: left;
    z-index: 10;
    -webkit-box-shadow: 0 3px 5px 0 #999;
    -moz-box-shadow: 0 3px 5px 0 #999;
    box-shadow: 0 3px 5px 0 #999;
    border: 1px solid #CCC;
    background: #3A4FC5;
    color: #656161;
    opacity: .8;
    min-width: 30px;
    top: 60px;
}

nav .main-nav .dropdown-content a {
    color: black;
    text-decoration: none;
    display: block;
    text-align: center;
}
nav .main-nav .dropdown-content a:hover {
    background-color: #3A4FC5
}

nav .main-nav .dropdown:hover .dropdown-content {
    display: inline-block;
}

nav .main-nav ul.left {
    float: left;
    margin-left: 5px;
}

nav .main-nav ul.right {
    float: right;
    margin-left: 5px
}
代码语言:javascript
复制
<nav>
  <div class="main-nav">
    <ul class="left">
      <li class="dropdown"><a href="#">Home</a>
        <div class="dropdown-content">
          <a href="#">Third</a>
          <a href="#">Third Link</a>
          <a href="#">Third Link 3</a>
        </div>
      </li>
      <li><a href="#">Gods</a></li>
      <li><a href="#">Goddesses</a></li>
    </ul>
    <div class="play-now"></div>
    <ul class="right">
      <li><a href="#">Heroes</a></li>
      <li><a href="#">Myths</a></li>
      <li><a href="#">Beasts</a></li>
    </ul>
  </div>
</nav>

EN

回答 2

Stack Overflow用户

发布于 2018-04-24 15:01:57

代码语言:javascript
复制
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
代码语言:javascript
复制
<style>
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
}
</style>
代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
   
<div class="container">
  <div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Dropdown
    <span class="caret"></span></button>
    <ul class="dropdown-menu">
      <li><a tabindex="-1" href="#">HTML</a></li>
      <li><a tabindex="-1" href="#">CSS</a></li>
      <li class="dropdown-submenu">
        <a class="test" tabindex="-1" href="#">New dropdown <span class="caret"></span></a>
        <ul class="dropdown-menu">
          <li><a tabindex="-1" href="#">2nd level dropdown</a></li>
          <li><a tabindex="-1" href="#">2nd level dropdown</a></li>
          <li class="dropdown-submenu">
            <a class="test" href="#">Another dropdown <span class="caret"></span></a>
            <ul class="dropdown-menu">
              <li><a href="#">3rd level dropdown</a></li>
              <li><a href="#">3rd level dropdown</a></li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </div>
</div>
</body>
</html>

票数 1
EN

Stack Overflow用户

发布于 2018-04-24 15:17:18

你是故意这么说的吗?

代码语言:javascript
复制
nav {
    padding-left: 5px
}

nav .main-nav {
    height: 80px;
    width: 100%;
    margin-top: 64px;
    background: url(../images/navHeader.png) no-repeat top;
    position: relative
}

nav .main-nav > ul {
    width: 360px;
    height: 80px;
    margin-top: 2px;
    padding: 0;
    list-style-type: none
}

nav .main-nav ul a,
nav .main-nav ul li {
    display: inline-block;
    width: 105px;
    line-height: 80px;
    height: 80px

}

nav .main-nav .dropdown-content a {
  height: auto;
  line-height: initial;
  padding: 3px 0;
}

nav .main-nav ul a {
    text-align: center;
    font-weight: 550;
    font-size: 12px;
    color: #84827d;
    text-shadow: 1px 1px 1px 1px #000;
    text-transform: uppercase;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out
}

nav .main-nav ul a:hover {
    text-decoration: none;
    color: #7289da
}
nav .main-nav li .dropdown {

}
nav .main-nav .dropdown-content {
    position: absolute;
    display: none;
    float: left;
    z-index: 10;
    -webkit-box-shadow: 0 3px 5px 0 #999;
    -moz-box-shadow: 0 3px 5px 0 #999;
    box-shadow: 0 3px 5px 0 #999;
    border: 1px solid #CCC;
    background: #3A4FC5;
    color: #656161;
    opacity: .8;
    min-width: 30px;
    top: 60px;
}

nav .main-nav .dropdown-content a {
    color: black;
    text-decoration: none;
    display: block;
    text-align: center;
}
nav .main-nav .dropdown-content a:hover {
    background-color: #3A4FC5
}

nav .main-nav .dropdown:hover .dropdown-content {
    display: inline-block;
}

nav .main-nav ul.left {
    float: left;
    margin-left: 5px;
}

.dropdown-content ul {
    padding: 0;
    width: auto !important;
    display: flex;
    flex-direction: column;
}

.dropdown-content ul li {
    height: auto !important;
    position: relative;
}

.dropdown-content ul li:hover > .dropdown-content-second {
    display: block;
}

.dropdown-content-second {
    position: absolute;
    display: none;
    float: left;
    z-index: 10;
    -webkit-box-shadow: 0 3px 5px 0 #999;
    -moz-box-shadow: 0 3px 5px 0 #999;
    box-shadow: 0 3px 5px 0 #999;
    border: 1px solid #CCC;
    background: #3A4FC5;
    color: #656161;
    opacity: .8;
    min-width: 30px;
    top: 0;
    left: 100%;
}

.dropdown-content-second ul li  {
    position: relative;
}

nav .main-nav ul.right {
    float: right;
    margin-left: 5px
}
代码语言:javascript
复制
<nav>
    <div class="main-nav">
        <ul class="left">
            <li class="dropdown"><a href="#">Home</a>
                <div class="dropdown-content">
                    <ul>
                        <li>
                            <a href="#">Third</a>
                            <div class="dropdown-content-second">
                                <ul>
                                    <li>
                                        <a href="javascript:;">Navi 1</a>
                                    </li>
                                    <li>
                                        <a href="javascript:;">Navi 2</a>
                                    </li>
                                    <li>
                                        <a href="javascript:;">Navi 3</a>
                                        <div class="dropdown-content-second">
                                            <ul>
                                                <li>
                                                    <a href="javascript:;">Navi 1</a>
                                                </li>
                                                <li>
                                                    <a href="javascript:;">Navi 2</a>
                                                </li>
                                                <li>
                                                    <a href="javascript:;">Navi 3</a>
                                                </li>
                                                <li>
                                                    <a href="javascript:;">Navi 4</a>
                                                </li>
                                                <li>
                                                    <a href="javascript:;">Navi 5</a>
                                                </li>
                                            </ul>
                                        </div>
                                    </li>
                                </ul>
                            </div>
                        </li>
                        <li>
                            <a href="#">Third Link</a>
                        </li>
                        <li>
                            <a href="#">Third Link 3</a>
                        </li>
                    </ul>
                </div>
            </li>
            <li><a href="#">Gods</a></li>
            <li><a href="#">Goddesses</a></li>
        </ul>
        <div class="play-now"></div>
        <ul class="right">
            <li><a href="#">Heroes</a></li>
            <li><a href="#">Myths</a></li>
            <li><a href="#">Beasts</a></li>
        </ul>
    </div>
</nav>

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

https://stackoverflow.com/questions/49994935

复制
相关文章

相似问题

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