2010-02-10 8 views
5

Ecco il mio html:problema CSS: Combinazione di "text-align: center" e "min-width" non funziona in IE 7/IE 8 modalità compat

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<style type="text/css"> 
    input.navbutton 
    { 
     text-align: center; 
     min-width: 100px; 
    } 
</style> 
</head> 
<body> 
    <input type="submit" class="navbutton " value="Next" /> 
</body> 
</html> 

su IE 7, questo finisce per cercando in questo modo:

alt text http://i48.tinypic.com/2ijm6x5.png

Ma su Firefox sembra che questo:

alt text http://i50.tinypic.com/14o6ej9.jpg

Come si può vedere, il testo non è centrato correttamente in IE 7.

Qualche idea su come risolvere questo?

+1

Bumped nello stesso problema oggi. Non riesci a trovare una soluzione ragionevolmente accettabile ... vero? – Peter

+0

L'aggiunta di 'line-height' sembra funzionare. Vedi la mia risposta qui sotto per un esempio completo. – Pluto

risposta

1

Prova questo:

input.navbutton 
{ 
    text-align: center; 
    min-width: 100px; 
    align:center; 
} 

In IE (vecchia), align colpisce il testo troppo.

+0

Grazie per il suggerimento, ma non ho dadi ho paura. – einarq

2

min-width su un pulsante già non funziona in IE6/7 (non si espanderà affatto il pulsante quando il testo è più grande, come sembra aspettarsi). Sostituiscilo con width e vivi con esso.

+0

min-width è supportato da IE 7 (non IE 6), ma apparentemente è un po 'buggato. Il comportamento è corretto in IE 8 (modalità non compatibile) http://msdn.microsoft.com/en-us/library/ms530820(VS.85).aspx – einarq

+1

D'oh. Ho letteralmente detto 'min-width' ** su un pulsante **. Prova a vedere te stesso prima di downsoting senza testa: / – BalusC

-1

Prova margin: 0 auto; nel tuo CSS. Conosco questo testo centrale per i tag <div> ma non conosco i pulsanti.

-1

provare a cambiare voi CSS per questo:

input.navbutton 
    { 
      text-align: center; 
      min-width: 100px; 
    } 
1

Mi ci volle un po 'per capirlo, ma alla fine ce l'ha. È necessario utilizzare una combinazione di tre proprietà:

input.navbutton { 
    min-width: 100px; 
    overflow: visible; 
    line-height: 120%; 
} 

Il testo verrà centrato automaticamente. line-height può essere escluso se si allinea il testo a sinistra oa destra. Vedi this jsfiddle per un esempio completo.

Example shown in IE7

Problemi correlati