2011-04-11 92 views
0

裏面,我有以下的html:居中標籤+下拉一個div

一個div,其中包含一個標籤和一個下拉列表(選擇)該標籤。在標籤和下拉列表中放置一個垂直對齊:中心,結果是標籤居中,但下拉不居中。我認爲中心是「等於和低於下拉的間距」。 IE顯然考慮的中心是將下拉列表的底部與標籤的底部對齊,不幸的是,它看起來不太好。我怎樣才能解決這個問題?

編輯:從位置來看並不緊急:相對;輕鬆解決問題,但使用位置:相對;惹惱我,不應該是必要的。

+1

發佈您的實際代碼。爲什麼位置:相對煩惱嗎?這是一個完全有效和有用的CSS屬性。 – easwee 2011-04-11 14:19:50

+0

@easwee我的實際代碼與描述中所描述的完全相同,不同之處在於它的vertical-align:middle;不是中心(這是一個錯字)。 – KyleM 2011-04-11 19:24:03

回答

2

你基本上錯過了vertical-align屬性。它只會在表格單元格中按照您的預期工作。不在div上。它也是垂直對齊:中間;不是中心。

垂直對齊:中間:對齊的元件的垂直中點與 父元素 的基線加上父的x高度的一半。

我覺得這文章解釋清楚爲什麼:http://www.ibloomstudios.com/articles/vertical-align_misuse/

的關鍵是baseline這裏,因爲這是對其中的元素得到的一致點。

示例:http://jsfiddle.net/easwee/kabBF/7/

+0

實際上,這個「中間」鏈接的示例圖像似乎完全符合我的意圖。我不明白。謝謝你的例子 - 欣賞它。我將使用該技術。 – KyleM 2011-04-11 19:26:30

2

垂直居中是怎樣的一個pain in the butt的...

在堅果殼,你需要給元素與top:50%的絕對位置。由於top是由包含元素的高度的測量的。這將把元素半成品的頂部放在容器中。然後你給它一個半個元素的中心高度的負頂邊距。