2012-03-16 83 views
0

我想把這個CSS菜單放在一起,但我不能讓它正常工作。當你瀏覽頂層菜單中的任何鏈接時,它會打開第二個菜單,雖然第二個菜單在你繼續時會消失。另外,它錯位。我不能把它放在左:0CSS菜單幫助(第二個菜單消失)

http://tinyurl.com/7rxskdj

#menu {width:800px;background-color:#FFF;min-height:30px;border:0;border-top:2px solid #8BD2E4;padding:0 5px;margin:0 auto;} 
#nmenu {list-style:none;padding:0;margin:0;width:700px;} 
#nmenu li {display:inline;float:left;height:20px;margin-left:45px;position:relative;} 
#nmenu li.frst {margin-left:0} 
#nmenu li a {font: 11px/30px Tahoma, Geneva, sans-serif;text-decoration:none;color:#979598;letter-spacing:2px;font-weight:bold;text-transform:uppercase;} 
#smedia {width:100px;height:30px;float:left;} 
#fb, #tw, #pt {background: #FFF url(smedia.png) no-repeat center;width:16px;height:16px;display:block;float:right;margin:7px 3px;} 
#fb {background-position: -1px -1px;} 
#tw {background-position: -18px -1px;} 
#pt {background-position: -35px -1px;} 
#nmenu li ul {display:none;position:absolute;top:30px;left:0;border:1px solid red;background-color:#FFF;} 
#nmenu li:hover ul {display:block} 
#nmenu li ul li {float:left;width:100px;} 

回答

4

嘗試下面的CSS:

#nmenu li { 
    display: inline; 
    float: left; 
    margin-left: 44px; 
    position: relative; 
} 

#nmenu li ul { 
    background-color: #FFFFFF; 
    border: 1px solid red; 
    display: none; 
    left: -5px; 
    padding: 0; 
    position: absolute; 
    top: 30px; 
} 

#nmenu li a { 
    color: #979598; 
    display: block; 
    font: bold 11px/30px Tahoma,Geneva,sans-serif; 
    letter-spacing: 2px; 
    padding-left: 2px; 
    text-decoration: none; 
    text-transform: uppercase; 
} 
+1

謝謝!這很有幫助 – Reis 2012-03-16 21:02:35

0

你絕對定位離開容器<li><ul>子元素之間的間隙。降低#nmmenu li ul {}上「top」的值。

1

你是你li內部施加的高度,以您的列表項,而不是你的鏈接項目,因此移動的高度,也應用的line-height您a標記,您的菜單塊的高度相匹配,然後你可以簡單地重新定位你的子菜單,從你的菜單項出現正好是100%,像這樣:

CSS

#nmenu li a { 
    height:30px; 
    line-height:30px; 
    display:block; 
} 

#nmenu li ul { 
    top:100%; 
} 
+0

謝謝!這很有幫助 – Reis 2012-03-16 21:02:53

3

要解決的消失菜單:5px的底部填充添加到您的頂級錨,將刪除元素之間的差距。

'錯位'問題是由於ulli元素上的默認填充和頁邊距造成的。顯式設置邊距和填充位置。

+0

謝謝!這很有幫助 – Reis 2012-03-16 21:02:43