2012-08-29 25 views
3

我在與position: absolute;容器內的問題位置position: relative;Firefox和Internet Explorer如果給予絕對

我覺得不相對定位父,默認的行爲,具有position: absolute;即子元素的定位theirselfs相對於它們的父容器,如果一個人position: absolute;position: relative;

雖然嘗試了這一點,我發現FF和IE瀏覽器(最新版),都出現了不同的行爲,把事情絕對頁面。

我想知道爲什麼?它涉及一個下拉菜單,其中子菜單被從視口中取出left: -9999px;,同時徘徊他們得到left: auto;

在Chrome中,它工作正常。 對不起,如果這個問題已經被問到 - 但使用這樣的詞搜索只顯示正常的問題與位置。

代碼:

<div id="steuerung"> 
<ul> 
    <li><a href="#">Link</a> 

    <ul> 
    <li><a href="#">Sublink</a> </li> 
    <li><a href="#">Sublink</a> </li> 
    <li><a href="#">Sublink</a> </li> 
    <li><a href="#">Sublink</a> </li> 
    <li><a href="#">Sublink</a></li> 
    </ul> 
    </li> 
</ul> 
</div> 

CSS:

div#steuerung li { 
    display: inline; 
    list-style: none; 
    position: relative; 
} 
div#steuerung ul li ul { 
    position: absolute; 
    left: -9999px; 
    display: block; 
    z-index: 2; 
    width: 99%; 
} 
div#steuerung ul li:hover ul { 
    left: auto; 

} 

完整的代碼在這裏:www.step-town.com/new/

問候

+1

我們可以看到你的代碼嗎? – BoltClock

+0

我已在上面添加它,對不起。 – mvuajua

+0

[爲我工作](http://jsfiddle.net/67Xhh/)在FF 14和FF 15上,應該如此。 – Jon

回答

1

試試這個

http://jsfiddle.net/3Nh86/

我認爲最好的方法是在你的ul子菜單上使用「display:none」和「display:block」。