2011-04-17 96 views
0
  1. 我需要的菜單(家,投資,服務,約)在中間對齊離開了。
  2. 的DIV#頭登陸應該是右對齊

我怎麼能完成這些任務?對齊的div和UL

爲了解決第一個問題,我把的div顯示:內聯;但由於某種原因,ul#header-menu在頂部留下空間

爲了解決第二個問題,我試圖把div#header-login的寬度設爲100%,從而將文本對齊到右邊,但是失敗。

Here是完整的代碼:

回答

1

實現這一目標最簡單的方法是,以確保您在標題中漂浮的一切。在當前混合使用某些浮點數和某些非浮點數(加上一些帶有display:inline的元素)的情況下,如果需要在舊版本的Internet Explorer中使用它,這將會很棘手,並且可能會出現問題。

我做了一些小的修改,您的jsfiddle。現在,它將浮動標題中的3個元素,並將浮動清除應用到標題div本身,以便標題後的內容正確清除(還有一些評論的例子說明了如何爲具有條件樣式表的IE執行此操作)。

http://jsfiddle.net/y4Qyw/1/

我沒有扭捏的間距明確,但它應該是一種形式現在定位在要與一些填充和/或保證金的一切。在這種情況下自動垂直定位是不可能的,除非你使用display:table-cell(它不是完全跨瀏覽器),所以你只需要垂直向下偏移菜單以使其居中對齊。

1

這裏是處理:

div#header 
{ 
    clear:both; 
    overflow:hidden; 
} 
div#header-login 
{ 
    text-align: right; 
    overflow:hidden; 
    float:right; 
    margin-top:-30px; 
} 
img#header-logo 
{ 
    display: block; 
    float:left; 
} 

ul#header-menu 
{ 
    margin: 0 auto; 
    padding: 15px; 
    display: block; 
    list-style-type: none; 
    overflow:hidden; 
} 
+0

有一些不使用margin-top的方法:-30px;? 我注意到ul#header-menu轉到頁面的底部,而div#header-login已經結束了。 – ridermansb 2011-04-17 15:54:45

+0

yes yes。請注意,我沒有對菜單UL給出任何寬度,這就是爲什麼它佔據了右側的所有寬度。但是,如果您指定70%的寬度,則不需要設置頂部邊距。 – 2011-04-17 16:04:30