2011-08-16 12 views
18

Perché Safari e Chrome ignorano la proprietà CSS min-width? Esempio http://jsfiddle.net/8YFHu/2/ Questo funziona in IE e Firefox ma non in Safari e Chrome.Safari e Chrome ignorano la correttezza della min-width CSS

+7

Imposta 'min-width' su' td' anziché 'table' e dovrebbe funzionare correttamente. Vedere l'articolo MDN per maggiori informazioni sul supporto per 'table': https://developer.mozilla.org/en/CSS/min-width#Browser_compatibility –

+0

Nota - Si dice che la larghezza minima non si applica a IE. Sembra che non funzioni in IE7, ma 8 e 9 lo supportano. Aggiornamento –

risposta

19

Chrome e Safari semplicemente non supportano la proprietà min-width sugli elementi table. Tuttavia, rispetteranno min-width quando applicati alle celle di una tabella.

Dopo alcuni test rapido, sembra che il supporto è il seguente:

  • Firefox: Supportato (testato in 5, non è sicuro dal quale versione)
  • Internet Explorer: Supportato (dal . IE8 IE7 e al di sotto non sembrano sostenerlo)
  • Chrome: non supportato (tutte le versioni, per quanto posso dire)
  • Safari: non supportato (tutte le versioni per quanto posso dire)
  • Opera: Supportato (testato in 11.5, non è sicuro dal quale versione)

Maggiori informazioni possono essere trovate nel MDN article sulla proprietà, anche se l'articolo afferma che la proprietà non è supportata in IE, anche se è da quando IE8.

Il CSS2.1 specification afferma che min-width (e max-width per questo) applicano:

tutti gli elementi eccetto gli elementi in riga non-rimpiazzati, righe di tabella, e la riga gruppi

quindi sarebbe sembra che Chrome e Safari non siano conformi allo standard.

Modifica

Avendo appena sembrava un po 'più in basso la sezione dedicata del spec, ho notato che poi afferma:

In CSS 2.1, l'effetto di 'min-width' e 'max-width' sulle tabelle, tabelle in linea, celle di tabella, colonne di tabella e gruppi di colonne è indefinito.

Quindi in realtà sembra che nessuno abbia sbagliato, e tutti possono semplicemente fare le proprie cose.

+2

- Sembra che Chrome ora * lo * supporti.Non ne sono sicuro da quando questo è il caso, ma l'ho appena testato su Chrome 19. –

+0

Ho notato che Chrome sembra supportarlo quando si imposta la larghezza minima su un numero di pixel, ma non quando lo si imposta su un valore percentuale. Firefox fa in entrambi i casi. –

6

Nella mia esperienza, spesso non è pratico definire le larghezze sugli elementi. La soluzione migliore che ho trovato per questa limitazione è impostare una larghezza minima su un elemento div contenente la tabella.

+0

Concordo con Roland Barker: il modo migliore per garantire una larghezza minima per una tabella è impostare la larghezza minima sul div che contiene la tabella e impostare la larghezza della tabella su 100%. –

Problemi correlati