2013-06-30 20 views
14

Für meine Eingabe, die entweder oder "half.not-placeholder-value" haben kann, zeigt Firebug beide Eingänge an, um eine feste Breite von 25em zu haben.CSS Max-Breite in IE8

input.half, input.half.not-placeholder-value { 
    max-width: 25em; 
} 

Doch nach Developer Tools, IE8 scheint nicht diese besondere max-width Attribut zu verwenden. Ich sage "scheint nicht zu verwenden", da sich das Verhalten von Firefox in IE8 in Bezug auf dieses Attribut unterscheidet.

Aber die MDN docs sagen, dass IE7 unterstützt max-width. Fehle ich etwas?

+0

Ich bin nicht sicher, ob 'max-width' macht Sinn, ohne jede Art von variabler Breite (wie' Breite: 100% ') –

+0

Hmm .. Aber in Firefox, es eine feste Länge schafft für meine Eingaben - mein gewünschtes Verhalten. Ohne max-width variieren die Eingabegrößen basierend auf jeder Klasse. –

+0

Haben Sie auch versucht, die Breite hinzuzufügen: 100%; Attribut nur um zu sehen, ob es funktioniert? –

Antwort

22

Das ist nicht wirklich ein Problem IE8 ist seit IE8 tut Unterstützung des max-width-Attribut, aber nur dann, wenn zunächst eine definierte Breite gegeben.

input.half, input.half.not-placeholder-value { 
    width: 100%; 
    max-width: 25em; 
} 
2

Verwenden Sie IE8 css mit width? Der erste Teil zielt auf IE, der zweite Teil macht ihn für IE9 + rückgängig.

input.half, input.half.not-placeholder-value { 
    max-width: 25em; 
    width:25em\9; /* IE 8 */ 
} 
:root input.half, input.half.not-placeholder-value { 
    width:inherit\9; /* IE 9+ */ 
}