2011-06-20 43 views
9

這個輸入框垂直對齊文本有this代碼:我如何對IE

<input type="text" class="contactInput" value="my string"> 

.contactInput 
{ 
    border:0; 
    margin:0; 
    padding:0; 
    background-color:#000000; 
    color:#ffffff; 
    height:22px; 
    width:290px; 
    padding-left:5px; 
} 

,我想垂直對齊。 Firefox和Chrome會自動執行它(如IE9)。與IE8或7是在頂部。

我該怎麼用CSS做到這一點?

+0

垂直對齊到哪裏?最佳?中間?底部? –

+0

@暗影精靈 - 好點!在回答之前,我甚至沒有想到!我只是假設中間。 –

回答

18

假設您的意思是在中心垂直對齊,您可以使用line-height CSS屬性來執行此操作。簡單地將其設置爲與元素的height相同。

4

Chrome中存在行高問題。當內聯高度==高度,然後在選取編輯框中顯示大的光標。當你開始輸入遊標減少。可能的解決方案是使用填充(頂部&底部)。你的情況:

height: 18px; 
padding-top: 4px; 
+0

upvote考慮Chrome以及..使之成爲一個跨瀏覽器的解決方案。 – Nupur

1

對於WebKit的,它能夠更好地使用墊襯,以避免巨大的光標,這樣的。

line-height: 14px/*to enclose 13px font, override this if needed*/; 
    height: 14px/*to enclose 13px font, override this if needed*/; 
    /*Padding is needed to avoid giant cursor in webkit, which we get if 
    height = line-height = 22px.*/ 
    padding: 6px 8px;