實現表單元素與文字的居中對齊

五種解決方案,有三個方案沒有使用任何hack,且IE6,IE7,Firefox,chrome瀏覽器下表現都很好的,有一種方案使用了一個IE hack,但成本較低,各個瀏覽器表現良好。還有一種方案,代碼成本很低,但在chrome瀏覽器下文字稍微偏上,使用input類型選擇器,或chrome hack能夠解決這個問題,可是對於單複選框這類控件,代碼一多反而不划算,權衡之下,不針對chrome瀏覽器單獨處理。
這些方案都是通過平時積累,反覆試驗得出的結論,其兼容性值得信賴。要使用的話就給單複選框命名一個class,該class樣式爲下面方案提供的css樣式便可。css

1.以vertical-align:text-bottom爲基礎的
css代碼以下:vertical-align:text-bottom; margin-bottom:2px; margin-bottom:-2px\9;
結果以下圖(以IE6瀏覽器和Firefox瀏覽器示例):chrome

IE6瀏覽器下的樣式表現

 

Firefox瀏覽器下的樣式表現

 

2.以vertical-align:text-top爲基礎的
css代碼以下:height:13px; vertical-align:text-top; margin-top:0;
結果以下圖(以IE7瀏覽器和chrome瀏覽器截圖示例):瀏覽器

IE7下的樣式表現

 

chrome下的樣式表現

 

3.以vertical-align:bottom爲基礎的
css代碼以下:height:15px; vertical-align:bottom; margin-bottom:3px; margin-top:-1px;
結果以下圖(以IE6和Firefox瀏覽器截圖作示例):wordpress

IE6下的表現

 

Firefox下的表現

 

4.以vertical-align:top爲基礎的
css代碼以下:height:14px; vertical-align:top;
結果以下圖(chrome下文字略微偏上,其餘瀏覽器下很完美,以IE7和chrome瀏覽器示例):spa

IE7下的表現

 

chrome下的表現-文字偏上

 

5.以vertical-align:middle爲基礎的
css代碼以下:vertical-align:middle; margin-top:-2px; margin-bottom:1px;
結果以下截圖(以IE6和Firefox示例):code

IE6下的樣式表現
Firefox瀏覽器下的表現

 

摘自:http://www.zhangxinxu.com/wordpress/2009/08/%E5%A4%8D%E9%80%89%E6%A1%86%E6%88%96%E5%8D%95%E9%80%89%E6%A1%86%E4%B8%8E%E6%96%87%E5%AD%97%E5%AF%B9%E9%BD%90%E7%9A%84%E9%97%AE%E9%A2%98%E7%9A%84%E6%B7%B1%E5%85%A5%E7%A0%94%E7%A9%B6%E4%B8%8E%E4%B8%80/blog

 

第六種解決辦法:input

給表單元素後面的文字加上一個標籤,表單元素和後面的文字的標籤都設置vertical-align:middle;it

demoio

  .input input{
            margin: 0;
            padding: 0;
            vertical-align: middle;
        }
        .input label{
            vertical-align: middle;
        }
        .input{ font-size:20px;}

 

<div class="input">
    <input type="checkbox"><label>籃球</label>
    <input type="radio"><label>足球</label>
</div>
相關文章
相關標籤/搜索