【问题标题】:Create a gap between navigation and drop down在导航和下拉菜单之间创建间隙
【发布时间】:2014-08-28 15:11:51
【问题描述】:

有人知道我如何在导航和下拉菜单之间创建一点间隙吗?我用margin试了一下,没有成功。

我的导航栏是这样的:

<div class="navigation">
<ul class="menu">
    <li><a href="#">Worker</a></li>
    <li><a href="#" class="sub">Categories</a>
        <ul>
            <li><a href="#">Webdesign</a></li>
            <li><a href="#">Inspiration</a></li>
            <li><a href="#">Tutorials</a></li>
            <li><a href="#">Development</a></li>
        </ul>
    </li>
    <li><a href="#">Shop</a></li>
    <li><a href="#">Account</a></li>
</ul>

我将代码粘贴到jsfiddle

如果有人有解决这个问题的想法,我将不胜感激。

【问题讨论】:

  • jsfiddle 代码在哪里?您需要点击保存。

标签: jquery html css drop-down-menu navigation


【解决方案1】:

好的,因为这里很混乱,我决定打开一个新答案,这是一种方法:

.navigation {
    height: 50px;
    overflow: visible;
}

.navigation li {
    height:  60px;
}

基本上你通过将第一层的高度设置为比它的容器(10px)更大的高度来推动它。

http://jsfiddle.net/1oakjjLc/10/

【讨论】:

    【解决方案2】:
    body > div > ul > li > ul {
    border-top: 10px solid white;
    }
    

    这是如果您希望它可以悬停。

    【讨论】:

      【解决方案3】:

      使用这个:

      .menu li:hover ul {margin-top: 10px;}
      

      用于处理边距非悬停问题:

      .menu li:hover ul {padding-top: 10px;}
      

      可以试试这个吗?

      .menu li:hover ul li:first-child {margin-top: 10px;}
      

      小提琴:http://jsfiddle.net/praveenscience/1oakjjLc/7/

      【讨论】:

      • 好的,这很简单。我之前在另一个标签上试过。你知道如何在顶部添加一个小箭头吗?
      • 这个解决方案的问题是边距不可悬停,因此子导航将关闭。我建议你使用 .menu li:hover ul {border-top: 10px solid white;} 但前提是你知道背景是白色的。否则我会稍微更改标记并使用填充
      • 好吧,差距就在那里,但如果我用光标转到下拉菜单,它会直接关闭。
      • @user3700309 已更新。
      • 你会如何改变它?
      【解决方案4】:

      我建议在您的 html 中使用 div &lt;div class="sepLine"&gt;&lt;/div&gt; 并带有以下 css:

      .sepLine{
          height: 15px;
          position: relative;
          width: 100%;
          top: 50px;
      }
      

      同时从这个类中移除 line-height 并添加高度:

      .menu a
          {  
              font: 500 15px Open Sans;
              display: block; 
              color: white; 
              height: 50px; /*Change line-height with height*/
              color: #FFF;
              width: 140px;
              text-align: center;
              display: inline-block;
          }
      

      最后添加行高:

      .menu > li > ul > li > a{
              line-height: 50px; /*Add line height*/
          }
      

      fiddle

      完整代码:

      html

      <div class="navigation">
          <div class="sepLine"></div>
          <ul class="menu">
              <li><a href="#">Worker</a></li>
              <li><a href="#" class="sub">Categories</a>
                  <ul>
                      <li><a href="#">Webdesign</a></li>
                      <li><a href="#">Inspiration</a></li>
                      <li><a href="#">Tutorials</a></li>
                      <li><a href="#">Development</a></li>
                  </ul>
              </li>
              <li><a href="#">Shop</a></li>
              <li><a href="#">Account</a></li>
          </ul>
      </div>
      

      css

      /* RESET */
      
      html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video
      {
          margin:0;
          padding:0;
          border:0;
          outline:0;
          font-size:100%;
          vertical-align:baseline;
          background:transparent;
      }
      body
      {
          line-height:1;
          -webkit-font-smoothing: subpixel-antialiased;
      }
      article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section
      { 
          display:block;
      }
      blockquote, q
      {
          quotes:none;
      }
      blockquote:before, blockquote:after, q:before, q:after
      {
          content:"";
          content:none;
      }
      a
      {
          margin:0;
          padding:0;
          font-size:100%;
          vertical-align:baseline;
          background:transparent;
          text-decoration: none;
      }
      ul
      {
          list-style: none;
      }
      ::-webkit-input-placeholder
      {
          color: #fff;
      }
      :-moz-placeholder
      { 
          color: #fff;
          opacity:  1;
      }
      ::-moz-placeholder
      {
          color: #fff;
          opacity:  1;
      }
      :-ms-input-placeholder
      {
          color: #fff;
      }
      
      /* BOX */
      
      *, *:before, *:after
      {
          -moz-box-sizing: border-box;
          -webkit-box-sizing: border-box; 
          box-sizing: border-box;
      }
      
      /* CLEARFIX */
      
      .clearfix:before, .clearfix:after
      {
          content: "";
          display: table;
      }
      .clearfix:after
      {
          clear: both;
      }
      .clearfix
      {
          *zoom: 1;
      }
      
      /* NAVIGATION */
      
      .navigation
      {
          width: 100%;
          height: 50px;
          background: #34495E;
          position: fixed;
          top: 0;
      }
      .menu
      {
          width: 960px;
          height: 50px;
          margin: 0px auto;
          padding: 0px;
      }
      .menu > li
      {
          float: left;
          position: relative;
      }
      .menu ul
      { 
          display: none; 
          position: absolute;
          left: 0;
          top: 100%;
      }
      .menu a
      {  
          font: 500 15px Open Sans;
          display: block; 
          color: white; 
          height: 50px; /*Change line-height with height*/
          color: #FFF;
          width: 140px;
          text-align: center;
          display: inline-block;
      }
      .menu a:hover, .menu a:active
      {
          color: #1ABC9C;
      }
      .menu li
      {
          list-style: none;
      }
      .menu li:last-child
      {
          float: right;
      }
      .menu li:hover ul
      {
          display: block;
          background: #34536e; 
      }
      .navigation 
      {
      -webkit-touch-callout: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      }
      .account
      {
          float: right;
      }
      .sepLine{
          height: 15px;
          position: relative;
          width: 100%;
          top: 50px;
      }
      
      .menu > li > ul > li > a{
          line-height: 50px; /*Add line height*/
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-19
        • 2013-11-18
        • 2013-02-13
        • 1970-01-01
        相关资源
        最近更新 更多