vertical-align 表單元素垂直對齊的解決方法

經(jīng)過以上折騰,我得出了跟wheatlee相同的結(jié)論,就是,各種瀏覽器之間對這個問題的處理貌似沒有任何規(guī)律。并且,似乎每一種瀏覽器對于 vertical-align:middle的渲染都不是完全遵從W3C所說的“Align the vertical midpoint of the box with the baseline of the parent box plus half the x-height of the parent.”
但是經(jīng)過仔細總結(jié)和分析,發(fā)現(xiàn)好像最終對齊的結(jié)果跟label的高度和當前字體中小寫x的中心點都有關(guān)系,兩者同時影響著渲染結(jié)果(雖然不明白為什么會這樣)。那么,既然現(xiàn)在的情況以及非常接近于希望的狀態(tài)了,是否可以通過設(shè)置字體的方式來改變小寫x的中心點的位置,進而對垂直對齊的結(jié)果進行“微調(diào)”呢?
最終,在不斷的測試中發(fā)現(xiàn),如果將font-family中的第一個字體設(shè)置為Tahoma,則可以完美的實現(xiàn)對齊(Verdana等字體也可以)。而且在FF3.5/IE6/IE7/IE8和Chrome中均顯示正常。最終代碼如下:
提示:您可以先修改部分代碼再運行
最終效果:
至此,多選框(checkbox)和提示文字對齊的問題已經(jīng)解決,那么其他表單元素呢?試驗了一下單選框(radio),發(fā)現(xiàn),還是有問題。提示文字依然是偏上。用firebug看了一下,發(fā)現(xiàn)radio元素默認有5px的左邊距和3px的上、右邊距,卻沒有下邊距。如圖:
相關(guān)文章
css中圖片于文本的基線對齊與vertical-align屬性設(shè)置
默認的情況是圖片頂對齊而文字底對齊,通過設(shè)置css屬性可以使得圖片與文字對齊,接下來為大家詳細介紹下設(shè)置各對象的vertical-align屬性,感興趣的朋友可以參考下哈2013-04-02css 垂直對齊 css中vertical-align屬性(垂直對齊)的使用說明
這兩天寫個頁面css的時候用到了vertical-align屬性,使用過程中踩到了坑,因此整理了一些,以備不時之需,感興趣的朋友可以了解下哦2013-01-09css vertical-align屬性的一些理解與認識(二) text-top篇
vertical-align是個相當復(fù)雜與精深的屬性,所理解的一些內(nèi)容多少會有不準確之處,本集內(nèi)容主要講講我對在一般情況下vertical-align其作用的理解,以及vertical-align相關(guān)的2013-01-07css vertical-align屬性的一些理解與認識(一)
就說說我對vertical-align屬性的一些理解吧,純屬個人見解,若有不準確之處還望見諒,若有不準確之處還望見諒。還有,vertical-align屬性牽扯到的知識實在是太多了,不是一2013-01-07line-height 和 vertical-align 行高與行對齊精解 (圖文)
行高指的是文本行的基線間的距離,但是文本之間的空白距離不僅僅是行高決定的, 同時也受字號的影響。2010-08-27- div vertical-align不起作用解決辦法,其實主要是文檔聲明。2010-03-25
- 網(wǎng)頁制作Webjx文章簡介:最近幾天仔細研究了一下vertical-align這個屬性,結(jié)果讓我大吃一驚,這個很“資深”的CSS標準竟然在各個瀏覽器里面的表現(xiàn)都各不相同。2009-04-02
CSS實例:vertical-align屬性讓網(wǎng)頁層居中
網(wǎng)頁制作Webjx文章簡介:CSS實例:vertical-align屬性讓網(wǎng)頁層居中. vertical-align屬性使網(wǎng)頁層居中 網(wǎng)頁源代碼如下: <html> <2009-04-02- vertical-align屬性詳細分析 最近幾天仔細研究了一下vertical-align這個屬性,結(jié)果讓我大吃一驚,這個很“資深”的CSS標準竟然在各個瀏覽器里面的表現(xiàn)都各不相同2009-02-10
IE6下 vertical-align:middle 和 height 引發(fā)的邊框消失
css樣式: <style type="text/css"> ul{ list-style:none;} li,div{border:1px solid #ff0000; vertical-align:middle; height:50px;} </style> ht2009-02-05