2013-03-11 36 views
0

我有AA格與下面的CSS如何讓位置,絕對的div保持其上的文件現在的位置調整

.menu{ 
    width:auto; 
    background-color:#FFF; 
    z-index:14; 
    position:absolute; 
    border:1px solid #d7d7d7; 
    border-bottom:2px solid #ccc; 
    display:none; 
    height:auto; 
    padding-top:2px; 
    padding-bottom:2px; 
} 

當您單擊所需的元素,我定位此根據左側和頂部偏移的div元素被點擊。

當文檔從頂部高度增加時,此div不會相應地更改其位置。這使它看起來非常糟糕。

如何在這種情況下保持其位置

+3

請出示HTML,或相關的小提琴。 – kennypu 2013-03-11 08:14:43

回答

1

嘗試換你.menudiv wrapper

HTML

<div class="mainWrap"> 
    <div class="menu"></div> 
</div> 

CSS

.mainWrap { 
position:relative; 
} 

.menu{ 
    width:auto; 
    background-color:#FFF; 
    z-index:14; 
    position:absolute; 
    border:1px solid #d7d7d7; 
    border-bottom:2px solid #ccc; 
    display:none; 
    height:auto; 
    padding-top:2px; 
    padding-bottom:2px; 
} 
0

需要小提琴。但我會說使用位置:相對而不是位置:絕對在這種情況下。

0

你有位置:相對;在父元素上?

1

如果使用absolute定位元素,它將根據第一個具有定位的祖先(這意味着position: absolute;position: relative)計算偏移量。

<body> 
    <div id="parent1"> 
    <div id="child1" style="position: absolute"></div> 
    </div> 
    <div id="parent2" style="position: relative;"> 
    <div id="child2" style="position: absolute;"></div> 
    </div> 
    <div id="parent3" style="position: absolute;"> 
    <div id="child3" style="position: absolute;"></div> 
    </div> 
</body> 

child1計算從body偏移bacause它的父沒有定位。 child2child3計算它們與父母的偏移量,因爲parent2parent3都有定位。

欲瞭解更多信息,請查閱W3C specs關於絕對定位,相對定位和浮動。