【问题标题】:Vertical Drop Down Menu垂直下拉菜单
【发布时间】:2014-05-20 01:19:54
【问题描述】:

我正在尝试创建一个类似于本网站http://yachtbelleaimee.com/ 上的下拉菜单

我已经创建了下拉菜单,但是我不知道如何定位网站中的列表。和网站一样,我也想知道如何将列表放在标题下方。非常感谢您提供的任何帮助

/* NAVIGATION START */

nav {
    display: block;
    width: 960px;
    margin: 100px auto;
    text-align: center;
}

nav select {
    display: none;
}

#menu {
    width: 608px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
}

#menu ul {
    margin: 0px;
    padding: 0px;
}

#menu ul li {
    background-color: #666;
    float: left;
    border: 1px solid #CCC;
    position: relative;
    list-style-type: none;
}

#menu ul li:hover ul {
    visibility: visible;
    background-color: #333;
}

#menu ul li a {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 30px;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    display: block;
    height: 30px;
    width: 150px;
}

#menu ul ul  {
    position: absolute;
    visibility: hidden;
    left: -1px;
    top: 31px;
}

#menu ul li:hover {
    background-color: #333;
}

#menu ul li ul li a:hover {
    background-color: #069;
}

#menu ul li a:hover {
    color: #0FF;
}

#leftmenu {
    position: absolute;
    left: 165px;
    top: 20px;
}

#rightmenu {
    position: absolute;
    right: 164px;
    top: 20px;
}

/* NAVIGATION END */

<nav> 
  <div id="menu">
    <ul id='leftmenu'>
      <li><a href="#">BOAT</a>
        <ul>
          <li><a href='#'>Specs & Boat Plans</a></li>
          <li><a href='#'>Itineraries</a></li>
          <li><a href='#'>Exteriors</a></li>
          <li><a href='#'>Diving & Water Toys</a></li>
          </ul>
        </li>
      </ul>
    <ul id='rightmenu'>
      <li><a href="#">LIFE ON BOARD</a>
        <ul>
          <li><a href='#'>Itineraries</a></li>
          <li><a href='#'>Dining</a></li>
          <li><a href='#'>Family Fun</a></li>
          <li><a href="#">Lifelong Learning</a></li>
          <li><a href="#">The Crew</a></li>
          </ul>
        </li>
      </ul>
    </div>
</nav>

【问题讨论】:

    标签: css drop-down-menu


    【解决方案1】:

    这里有一些 CSS 可以帮助您入门:

    /* NAVIGATION START */
    
    nav {
        display: block;
        width: 960px;
        margin: 100px auto;
        text-align: center;
    }
    
    nav select {
        display: none;
    }
    
    #menu {
        width: 608px;
        margin-top: 0px;
        margin-right: auto;
        margin-bottom: 0px;
        margin-left: auto;
        padding-top: 0px;
        padding-right: 0px;
        padding-bottom: 0px;
        padding-left: 0px;
    }
    
    #menu ul {
        margin: 0px;
        padding: 0px;
    }
    
    #menu ul li {
        background-color: #666;
        float: left;
        border: 1px solid #CCC;
        position: relative;
        list-style-type: none;
    }
    
    #menu ul li:hover ul {
        visibility: visible;
    }
    
    #menu ul li a {
        font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
        font-size: 14px;
        line-height: 30px;
        color: #FFF;
        text-decoration: none;
        text-align: center;
        display: block;
        height: 30px;
        width: 150px;
    }
    
    #menu ul ul  {
        position: absolute;
        visibility: hidden;
        left: -1px;
        top: 31px;
    }
    
    #menu ul li:hover {
        background-color: #333;
    }
    
    #menu ul li ul li a:hover {
        background-color: #069;
    }
    
    #menu ul li a:hover {
        color: #0FF;
    }
    
    #leftmenu {
        position: absolute;
        left: 165px;
        top: 20px;
    }
    #leftmenu li>ul>li {
        margin:1em 0;
    }
        #leftmenu li:nth-child(2) {
            margin-left:20px;
        }
        #leftmenu li:nth-child(3) {
            margin-left:40px;
        }
        #leftmenu li:nth-child(4) {
            margin-left:60px;
        }
    
    #rightmenu {
        position: absolute;
        right: 164px;
        top: 20px;
    }
    #rightmenu li>ul>li {
        margin:1em 0;
    }
        #rightmenu li:nth-child(2) {
            margin-left:-20px;
        }
        #rightmenu li:nth-child(3) {
            margin-left:-40px;
        }
        #rightmenu li:nth-child(4) {
            margin-left:-60px;
        }
        #rightmenu li:nth-child(5) {
            margin-left:-80px;
        }
    

    还有一个JSFiddle

    【讨论】:

      【解决方案2】:

      你可以简化

      #menu {
          width: 608px;
          margin-top: 0px;
          margin-right: auto;
          margin-bottom: 0px;
          margin-left: auto;
          padding-top: 0px;
          padding-right: 0px;
          padding-bottom: 0px;
          padding-left: 0px;
      }
      

      #menu {
          width: 608px;
          margin: 0px auto;
          padding: 0px;
      }
      

      为此...呃...级联效果,您可能必须使用类似的东西

      <li style="padding-left: some value here">
      

      并用每个&lt;li&gt; 减少它(因为你将它们浮动到正确的位置)。此外,菜单必须与从最左侧菜单项到最右侧的空间一样宽;它不能和一个菜单项一样宽。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 2021-01-30
        • 1970-01-01
        • 1970-01-01
        • 2019-09-22
        相关资源
        最近更新 更多