我一直有這個問題,我的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
鏈接到一個工作示例將幫助我們幫助您。但是你在'nav'元素上有一個負的'margin-top',它會拉動'nav'並且你在'.wrapper'上有'overflow:hidden'。 'nav'可能會被拉出''.wrapper'的可見區域。嘗試在'.wrapper'上設置'overflow:visible;'。 –
http://jsfiddle.net/NyqqM/1/ FF FF,我沒有看到任何問題,你看到這個瀏覽器?你的內容絕對定位也很奇怪。很難說,爲什麼用給定的不完整的代碼 – Huangism
錯誤的代碼,沒有發現問題! – Mattos