Domanda

Qual è il valore negativo consentito il valore negativo per la proprietà text-indent?

Stavo usando un valore bizzarro enorme nel mio sito (qualcosa come text-indent: -99999999px) e ha smesso di lavorare con l'ultimo aggiornamento di Google Chrome.IE funziona ancora bene, ma potrei aver bisogno di rimuovere un paio di 9 anni da lì per farlo funzionare di nuovo con Chrome.

Disclaimer: Sì, questo valore è un po 'troppo paranoico, l'ho usato per divertimento e ho dimenticato il copmuloso finché il testo è uscito sullo schermo oggi.Ma il text-indent: -9999px di solito suggerito potrebbe facilmente fallire ad un certo punto in (non così) futuro lontano?

È stato utile?

Soluzione

Un valore sicuro è probabilmente -32768px, tuttavia questo non fa parte della specifica, ma piuttosto un'osservazione di una restrizione legacy specifica di implementazione (possibilmente obsoleta).

Prima che i valori delle proprietà CSS possano essere applicati agli elementi a tempo di rendering, tali dichiarazioni devono essere analizzate in qualcosa di più operabile e astratto di quanto, efficacemente, una stringa. Voglio dire, puoi digitare quasi tutto come un valore di proprietà:

.a {text-indent: -999px;}
.b {text-indent: -99999999px;}
.c {text-indent: medium potato;}
.

Il primo esempio, le dita incrociate, vengono analizzate correttamente; L'ultimo non è valido e verrà ignorato (poiché una patata media non avviene attualmente parte della specifica di W3C CSS); Ma il mezzo sarebbe bizzarro dovrebbe essere overflow (non "adatta" in memoria come allocata dal Browser). Ho messo insieme un violino e questi sono i valori text-indent a cui i browser "soffocato" e predefiniti a zero:

#On OSX 10.8 Lion 64bit:
Safari 6       -2^31
Chrome 22      -2^26  #your original -99999999px would have failed here
Firefox 14     -2^70
Opera 12       -2^70

#On Win Server 2008 64bit:
Firefox 13     -2^70
Chrome 21      -2^70
IE 9           -2^70
.

Questo mi ha fatto curioso, eseguirò più test su un'altra casella domani. Risultati sopra aggiornati, niente di troppo eccitato. Puoi anche eseguire il tuo test utilizzando questo violino - il primo elemento che rimane visibile mostrerebbe il valore applicato quello è stato ignorato. Supponendo che i valori variano a seconda del browser / OS utilizzato come possibilmente hardware.

Mi ricordo prima di vedere un pratico riferimento di tale limitazione in un Articolo sullo styling Faux Columns ^ che ha suggerito un vincolo conservatore per essere quello di un intero firmato a 16 bit (da -32768 al +32767) - che si applicherebbe a non solo indents ma altri valori di lunghezza. Non sono a conoscenza di quanto sia coerente questo valore attraverso diversi browser e le loro versioni, né quanto applicabile sarebbe di frazioni o valori espressi in diverse unità.

Altri suggerimenti

Non c'è nessun tasto minimo di testo - Ho usato solo un paio di pixel, ma questa è una cattiva pratica da utilizzare per il layout / design, assicurarsi che scorre sullo schermo durante la visualizzazione dei layout di dimensioni del plasma 99999px - è più che sufficiente- Utilizzare padding di margini e posizioni se si desidera ancora vedere il testo e usi per lo styling.

Ho problemi in iPad Safari utilizzando un numero di 9999999, fisso per me di impostarlo su 99999M. Quindi forse non c'è limite, ma dovrebbe essere uno per evitare questi errori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top