Frage

Was ist der minimal erlaubt negativer Wert für die text-indent Eigentum?

Ich habe auf meiner Website einen bizarr großen Wert verwendet (so etwas wie text-indent: -99999999px), und es funktionierte mit dem letzten Google Chrome-Update nicht mehr.IE funktioniert immer noch einwandfrei, aber ich muss möglicherweise ein paar Neunen von dort entfernen, damit es wieder mit Chrome funktioniert.

Haftungsausschluss:Ja, dieser Wert ist etwas zu paranoid. Ich habe ihn zum Spaß verwendet und ihn völlig vergessen, bis heute der Text auf dem Bildschirm auftauchte.Aber das wird normalerweise empfohlen text-indent: -9999px könnte irgendwann in (nicht allzu ferner) Zukunft leicht scheitern?

War es hilfreich?

Lösung

Ein sicherer Wert ist wahrscheinlich -32768px, Dies ist jedoch nicht Teil der Spezifikation, sondern eher eine Beobachtung einer (möglicherweise veralteten) Implementierungsspezifischen Legacy-Einschränkung.

Bevor CSS-Eigenschaftswerte beim Rendern auf Elemente angewendet werden können, müssen diese Deklarationen in etwas geparst werden, das praktischer und abstrakter ist als eine Zeichenfolge.Ich meine, das kannst du Typ fast alles als Immobilienwert:

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

Das erste Beispiel würde, Daumen drücken, korrekt analysiert werden;der letzte ist ungültig und würde ignoriert (da eine mittlere Kartoffel derzeit nicht Teil der w3c-CSS-Spezifikation ist);aber das mittlere wäre eigenartig, wenn es so wäre Überlauf (passt nicht in den vom Browser zugewiesenen Speicher).Ich habe eine Geige zusammengestellt und das sind die text-indent Werte, bei denen die Browser „abgewürgt“ und auf Null zurückgesetzt wurden:

#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

Das hat mich neugierig gemacht, ich werde morgen weitere Tests mit einer anderen Box durchführen. Die obigen Ergebnisse wurden aktualisiert, nichts allzu Aufregendes. Sie können mit dieser Geige auch Ihren eigenen Test durchführen - Das erste Element, das sichtbar bleibt, würde den angewendeten Wert anzeigen, der ignoriert wurde. Ich gehe davon aus, dass die Werte je nach verwendetem Browser/Betriebssystem variieren würden möglicherweise Hardware.

Ich erinnere mich, dass ich zum ersten Mal einen gesehen habe praktisch Hinweis auf eine solche Einschränkung in ein Artikel über die Gestaltung falscher Spalten^ Dies deutete darauf hin, dass eine konservative Einschränkung die einer 16-Bit-Ganzzahl mit Vorzeichen sein sollte (von -32768 bis +32767) – was gelten würde für nicht nur Texteinzüge, aber andere Längenwerte.Mir ist nicht bekannt, wie konsistent dieser Wert über verschiedene Browser und deren Versionen hinweg ist und auch nicht, wie anwendbar er auf Brüche oder in verschiedenen Einheiten ausgedrückte Werte wäre.

Andere Tipps

Es gibt keinen minimalen Texteinzug – ich habe zuvor nur ein paar Pixel verwendet, aber das ist eine schlechte Praxis für Layout/Design. Stellen Sie sicher, dass es beim Betrachten von Layouts in Plasmagröße über den Bildschirm scrollt. 99999 Pixel – ist mehr als genug – verwenden Sie Ränder Abstände und Positionen, wenn Sie den Text weiterhin sehen möchten und für die Gestaltung verwenden.

Ich habe Probleme in der iPad-Safari mit der Nummer 99999em, die durch die Einstellung auf 9999em behoben wurde.Vielleicht gibt es also keine Begrenzung, aber es sollte eine geben, um diese Fehler zu vermeiden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top