2013-03-10 76 views
-1

浮動看看我的例子,來證明我有這個問題的一種元素:Float覆蓋了與CSS

http://jsfiddle.net/zWkse/

#mymenu { 
    float: left; 
    z-index: 59; 
    width: 60px; 
    background: #000; 
    color: #FFF; 
} 

#myleftcontent { 
    width:100px; 
    background-color:#fff; 
    padding:7px; 
    border: 1px solid #d3d3d3; 
    float:left; 
    padding-bottom: 7px; 
    margin-bottom:20px; 
} 

#myrightcontent { 
    float:right; 
    width: 100px; 
} 

在我的網頁,還有主要內容的左側和一些右邊的註釋(div元素)

它們都是float: leftright

現在我有一個下拉菜單,當您點擊頂部菜單中的錨點鏈接時,該下拉菜單會向下滾動。 這個菜單在這個例子中是「mymenu」。

該菜單也是一個float: left,但我希望它漂浮在現有的元素。

從而使#mymenu是浮在#myleftcontent

如何能不能做到?

回答

1

那麼你沒有發佈的部分是它的下降。該元素需要被positionend使得#mymenu可定位絕對取I OUT流的z索引的,並允許有其效果:http://jsfiddle.net/4hGnL/

<div id="menu-container"> 
    <div id="mymenu"> 
     MY MENU<br /> 
     MY MENU 
    </div> 
</div> 
<div id="myleftcontent"> 
    i gentager successen og giver dig nu chancen for at få én times afslappende aroma therapy massage hos Prani Wellness, der fjerner dine spændinger og får dig i en rus af velvære! 
Thailandsk aroma therapy massagei gentager successen og giver dig nu chancen for at få én times afslappende aroma therapy massage hos Prani Wellness, der fjerner dine spændinger og får dig i en rus af velvære! 
Thailandsk aroma therapy massage 
</div> 
<div id="myrightcontent"> 
    i gentager successen og giver dig nu chancen for at få én times afslappende aroma therapy massage hos Prani Wellness, der fjerner dine spændinger og får dig i en rus af velvære! 
Thailandsk aroma therapy massagei gentager successen og giver dig nu chancen for at få én times afslappende aroma therapy massage hos Prani Wellness, der fjerner dine spændinger og får dig i en rus af velvære! 
Thailandsk aroma therapy massage 
</div> 

用CSS:

#menu-container { 
    position: relative; 
} 
#mymenu { 
    float: left; 
    z-index: 59; 
    width: 60px; 
    background: #000; 
    color: #FFF; 
    position: absolute; 
} 
#myleftcontent { 
    width:100px; 
    background-color:#fff; 
    padding:7px; 
    border: 1px solid #d3d3d3; 
    float:left; 
    padding-bottom: 7px; 
    margin-bottom:20px; 
} 
#myrightcontent { 
    float:right; 
    width: 100px; 
} 
+1

隨着'位置:absolute',我相信你可以刪除'浮動:left'從#mymenu,因爲它似乎並沒有反正做任何事情。 – DACrosby 2013-03-11 00:03:57

0

添加clear: left;#myleftcontent將使其低於#mymenu

編輯:在上面的「over」的意思上回答。對不起,如果這不是你的意思!

1

你想要的菜單是不是浮動,但實際上有一個絕對的位置。這會將菜單移出文檔流程。

position:absolute; 
z-index:1; 

Z-index確定元素將坐落在的「圖層」。您可以從技術上假定默認情況下所有靜態和相對元素都在第0層上。

請記住,這將需要一些計劃,當涉及到您的HTML結構。絕對元素將相對於其容器定位。因此,如果您將它放在相對位置的div中,則頂部和左側的0點位於該容器的邊緣。否則,它將繼續上升直到它與窗口絕對相關。

我與這個新的風格變化http://jsfiddle.net/zWkse/4/

0

你確定你想要的菜單浮動更新你的小提琴?我認爲你是在絕對定位的正確軌道上,但它做爲myleft內容div的,並給它適當的:

left:0; top:0;

類型參數(或帶有一些填充)。並且(如上所述),您希望此菜單具有更高的Z-index。

當然,myleftcontent不必絕對定位。

參見: http://www.w3schools.com/css/css_positioning.asp