2012-03-06 149 views
0

您好,我必须为使用WordPress的网站创建一个水平的子菜单。我还有一个问题,当您在页面中途向下滚动链接时,子菜单出现在页面的一半处。我相信这是因为:CSS子菜单页面滚动

position: fixed; 
     top: 264px; 
     left: 50%; 
     width: 1000px; 
     margin-left:-500px; 

有没有办法解决这个问题?

的网址是:http://dev.timson.me

而CSS(上 “即将到来的” & “过去生产” 子菜单)是:

#access { 
clear: both; 
display: block; 
float: left; 
margin: 0 auto 6px; 
padding-top: 8px; 
width: 100%; 
font-family: Stag; 
display:block; 
text-align:center; 
} 

#access ul { 
    font-size: 13px; 
    list-style: none; 
    margin: 0 0 0 -0.8125em; 
    padding-left: 0; 

    display:inline-block; 
} 

.sub-menu { 
    text-align: center; 
} 

#menu-default > li { 
    float: left; 
    position: relative; 
} 
.sub-menu > li { 
    display: inline-block; 
} 

#access a { 
    color: #eee; 
    display: block; 
    line-height: 25px; 
    margin-top: -4px; 
    margin-bottom: -4px; 
    padding: 0 1.2125em; 
    text-decoration: none; 
} 

#access ul ul { 

    display: none; 
    float: left; 
    margin-top: 0; 
    position: fixed; 
    top: 264px; 
    left: 50%; 
    width: 1000px; 
    z-index: 99999; 
    margin-left:-500px; 
    text-align:center; 
    padding-top:5px; 
    padding-bottom:10px; 

    background: red; 
} 

#access ul ul a { 

    margin-top: 0px; 
    margin-right: auto; 
    margin-bottom: 0px; 
    margin-left: auto; 
    padding-bottom:10px; 

} 

#access ul li:hover > ul { 
    display: block; 
} 

任何帮助是极大的赞赏。

干杯, 彼得

回答

0

我认为你可以清理很多css,最终修复你的问题。

//Remove left margin 
#access div { 
    position: relative; 
    width: 1000px; 
} 

ul, ol { 
    margin: 0; 
} 

//Remove left margin 
#access ul { 
    display: inline-block; 
    font-size: 13px; 
    list-style: none outside none; 
    padding-left: 0; 

}

//remove position relative, it is now located in the access div container. 
#menu-default > li { 
    float:left 
} 

#access ul ul { 
    background: none repeat scroll 0 0 red; 
    display: none; 
    left: 0; 
    margin-top: 0; 
    padding-bottom: 10px; 
    padding-top: 5px; 
    position: absolute; 
    text-align: center; 
    top: 23px; 
    width: 1000px; 
    z-index: 99999; 
} 

您可能需要调整与子导航的垂直填充。希望有所帮助。

1

摆脱

position: fixed; 

而且应该这样做。

+0

是对的,固定是问题! – Joerg 2012-03-06 02:53:58

+0

嗯。不为我修复(FF 10.0.2)。 – SenorAmor 2012-03-06 03:00:27