2014-03-12 82 views
-1

我一直有這個問題,我的CSS下拉菜單隱藏在我的頁面上我的內容後面。我環顧四周,嘗試使用Z-Index來指定它需要去的地方,但我無法弄清楚。我的所有內容都在div類「.wrapper」中,這是導航線隱藏在後面的內容。這裏是CSS:導航菜單隱藏內容

nav { 
    margin: -75px 100px 20px 100px; 
    text-align: right; 
    position: relative; 
    z-index: 1000; 
} 

nav ul ul { 
    display: none; 
} 

    nav ul li:hover > ul { 
     display: block; 
     position: absolute; 
     z-index: 1000; 
    } 


nav ul { 
    background: #efefef; 
    background: linear-gradient(top, #D22525 0%, #5F1414 100%); 
    background: -moz-linear-gradient(top, #D22525 0%, #5F1414 100%); 
    background: -webkit-linear-gradient(top, #D22525 0%,#5F1414 100%); 
    box-shadow: 0px 0px 9px rgba(0,0,0,0.15); 
    padding: 0 20px; 
    border-radius: 10px; 
    list-style: none; 
    position: relative; 
    display: inline-table; 
} 
    nav ul:after { 
     content: ""; clear: both; display: block; 
    } 

    nav ul li { 
     float: left; 
    } 
     nav ul li:hover { 
      background: #4b545f; 
      background: linear-gradient(top, #4f5964 0%, #5f6975 40%); 
      background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%); 
      background: -webkit-linear-gradient(top, #4f5964 0%,#5f6975 40%); 
     } 
      nav ul li:hover a { 
       color: #fff; 
      } 

     nav ul li a { 
      display: block; padding: 25px 40px; 
      color: #FFF; text-decoration: none; 
     } 


    nav ul ul { 
     background: #5f6975; border-radius: 0px; padding: 0; 
     position: absolute; top: 100%;z-index: 1000; 
    } 
     nav ul ul li { 
      float: none; 
      border-top: 1px solid #6b727c; 
      border-bottom: 1px solid #575f6a; position: relative; 
      z-index: 1000; 
     } 
      nav ul ul li a { 
       padding: 15px 40px; 
       color: #fff; 
      } 
       nav ul ul li a:hover { 
        background: #4b545f; 
       } 

    nav ul ul ul { 
     position: absolute; left: 100%; top:0; 
    } 

    .wrapper 
    { 
     overflow: hidden; 
     padding: 0em 0em 5em 0em; 
     background: #FFF; 
     top: 150px; 
     position: absolute; 
     z-index: 0; 
    } 

之後,這是我的HTML:

<body> 
<div id="header-wrapper"> 
    <div id="header" class="container"> 
     <div id="logo"> 
<h1></span><a href="/">HHS E3</a></h1> 
</div> 
<nav> 
    <ul> 
     <li><a href="/"><img src="/media/home.png" height="14px" /></a></li> 
     <li><a>Media</a> 
    <ul> 
     <li><a href="/media/videos">Videos</a></li> 
     <li><a href="/media/pictures">Pictures</a></li> 
     <li><a href="/media/music">Music</a></li> 
    </ul> 
     <li><a>Bullying</a> 
    <ul> 
     <li><a href="/bullying/harrassment">Harrassment</a></li> 
     <li><a href="/bullying/abuse">Abuse</a></li> 
     <li><a href="/bullying/mental">Mental Illness</a></li> 
     <li><a href="/bullying/dissability">Dissability</a></li> 
     <li><a href="/bullying/fun">For Fun</a></li> 
    </ul> 
    </li> 
     <li><a>About E3</a> 
    <ul> 
     <li><a href="/about/stories">Our Videos & Stories</a></li> 
     <li><a href="/about/presentations">Our Presentations</a></li> 
    </ul> 
    </li> 
     <li><a>About the Founders</a> 
    <ul> 
     <li><a href="/about/radio">Raider Radio</a></li> 
     <li><a href="/about/video">Video</a></li> 
     <li><a href="/about/info">Info</a></li> 


<?php 
    if(empty($_SESSION['logged_in'])) 
    { 

    } else { 
     echo "<li><a href='#'>User</a><ul><li><a href='/upload'>Upload</a></li><li><a href='/logout.php'>Logout</a></li></ul></li>"; 
    } 
    ?> 
    </ul> 
</nav> 
     </div> 
    </div> 
</div> 
<div class="wrapper"> 
    <div id="three-column" class="container"> 

如果任何人有什麼,我需要解決的任何想法,我將不勝感激。總的來說,下拉菜單可以正常工作,但只顯示第一行,其餘的則隱藏在包裝器後面。我是否需要對id =「three-column」或class =「container」做任何事情謝謝!

PS:jsfiddle

+0

鏈接到一個工作示例將幫助我們幫助您。但是你在'nav'元素上有一個負的'margin-top',它會拉動'nav'並且你在'.wrapper'上有'overflow:hidden'。 'nav'可能會被拉出''.wrapper'的可見區域。嘗試在'.wrapper'上設置'overflow:visible;'。 –

+0

http://jsfiddle.net/NyqqM/1/ FF FF,我沒有看到任何問題,你看到這個瀏覽器?你的內容絕對定位也很奇怪。很難說,爲什麼用給定的不完整的代碼 – Huangism

+0

錯誤的代碼,沒有發現問題! – Mattos

回答

1

Here's a fiddle!

我做了三件事情:

  1. 刪除從NAV(保證金+後臺擋住您的標誌)的保證金
  2. 添加顯示:內聯塊到導航和#logo。這允許他們正確顯示彼此相鄰。
  3. 添加浮點數:左和float:right#logo和Nav分別。這會將他們推向左側和右側。

    nav{ text-align: right; position: relative; z-index: 1000; float:right; display: inline-block; float: right; }

    #logo{ display: inline-block; float: left; }

+0

你幾乎在那裏萌芽。做得好。但是如果你調整屏幕大小,它仍然會渲染。但是,再次感謝您花時間。他的標記是如此撤消:) – LOTUSMS

+0

@LOTUSMS沒有。當您調整屏幕大小時,導航元素會在徽標元素下移動。哪個地方可以投入媒體查詢,但這是另一個話題! –

0

試試這個fiddle

我用你的HTML和CSS,並作出了以下變化:

  1. 增加position:relativenav ul li
  2. nav ul ul

希望這有助於你修改top值70像素。

0

我想說,感謝大家對於初學者。我已閱讀每條評論和答案。但是,通過將所有答案都放在一起,我發現了一件事。我忘了將div id「header-wrapper」放在我上面顯示的代碼中。在其中,就像一個用戶說過的那樣,它有Overflow: Hidden導航包含在那裏。設置Overflow: Visible後,我的問題已解決。再次感謝大家。