首先,我只是一個初學者與web開發。正在嘗試使用水平主菜單和垂直子菜單的網站。子菜單對齊使用HTML css
當我將鼠標懸停在主菜單中的列表項上時,子菜單下降&替代了主菜單中的其他元素。另一個問題是子菜單沒有與主菜單列表項目對齊。
這是代碼: http://jsfiddle.net/mCvct/1/
一直在努力做到這一點,因爲一段時間&一直在尋找一些解決方案。但目前無法解決這個問題。
代碼:
<div id="menu">
<ul>
<li> <a href="#">SERVICES</a>
<div class="subnavi">
<ul>
<li><a href="#">service1</a>
</li>
<li><a href="#">service2</a>
</li>
<li><a href="#">service3</a>
</li>
</ul>
</div>
<!-- end of subnavi -->
</li>
<li> <a href="contact.php">CONTACT US</a>
</li>
<li> <a href="#">HOME</a>
</li>
<li> <a href="#">ABOUT US</a>
</li>
</ul>
</div>
<!-- end of menu -->
ul {
overflow:hidden;
vertical-align:middle;
}
ul li {
list-style:none;
}
ul li a {
width:16.2%;
/*164.6px;*/
font-size:1em;
line-height:1.8em;
float:left;
display:inline;
text-align:center;
}
#menu ul li .subnavi {
display:none;
clear:both;
}
#menu ul li .subnavi ul {
width:20em;
background:#a0a0a0;
list-style:none;
margin:auto;
line-height:2em;
border:1px solid #a60000;
}
#menu ul li .subnavi ul li a {
width:24em;
line-height:1.8em;
float:none;
display:inline;
}
#menu ul li:hover .subnavi {
display:block;
}
位置相對於外部li和絕對位置在.subnavi?這樣它就不會改變其他元素的定位。 – bwoebi
既然你提到你是初學者,@ karthikr已經提出了一個解決方案,這裏有一個更廣泛的提示;你的CSS選擇器過於具體。例如。 '#menu ul li li.subnavi'可以寫成'.subnavi'。當你需要重寫樣式時,這會讓你頭疼,並且瀏覽器讀取效率不高。有關更多信息,請參閱:http://css-tricks.com/efficiently-rendering-css/。 這與您的原始問題沒有直接關係,但我認爲這是一個有用的提示。 – Dre