Frage

Ich habe viele Entwickler schreiben HTML oder CSS Inline-Stil Breiten von 99,9% in Orten zu sehen, wo ich 100% verwenden würde. Gibt es einen triftigen Grund für die Verwendung von 99,9%? Hat es eine wirksame Differenz zu 100%?

EDIT retweet MSalters' sehr gute Frage: Considering that 99.9% is one pixel off above 500 pixels, why not 99.99%? Ich würde vermuten, er ist richtig, dass, wenn Sie mit dem dirty hack gehst sollten Sie 99,99% verwenden, wird jemand anderer Meinung

Weitere Referenzen:

War es hilfreich?

Lösung

Die hasLayout Eigenschaft

Es ist ein schmutziger Hack verwendet, um die IE spezifische hasLayout Eigenschaft des Elements auf true zu setzen. Die hasLayout Eigenschaft „bestimmt, wie Elemente zeichnen und gebunden deren Inhalt, die Interaktion mit und beziehen sich auf andere Elemente, und reagieren auf und Sende application / Benutzerereignisse.“ ein Element layout zu geben, ist eine einfache Möglichkeit, viele Layout bezogene Fehler zu beheben, die in Internet Explorer angezeigt werden.

Was ist mit dem 99,9%?

Zur Einstellung der Breite bis 99,9% ist eine Möglichkeit, es auszulösen. Der Grund, warum Sie 99,9% verwenden würden, weil das Layout ein Element ist gegeben, wenn sein width auf etwas anderes als auto gesetzt. die Notwendigkeit, eine feste Breite zu verwenden, verhindert, dass es auf einen Prozentsatz einstellen.

Nach einigen Tests in jsFiddle, hat mich zu dem Schluss gekommen, dass es wirklich nicht notwendig ist, eine Breite von 99,9% zu verwenden, eine Breite von 100% verwendet, ist genauso effektiv. http://jsfiddle.net/3qfjW/2/ (IE-Only). Es scheint, dass Einstellung width bis 99,9% gewesen sein mag ein verbreiteter Irrtum die stecken .. das Wort verbreiten Menschen.

Andere Methoden

Sie können auch Auslöser hasLayout mit zoom: 1; Während dies die bevorzugte Methode für viele ist, wie es verwirrt nicht mit anderen Stil bezogenen Funktionen eines Elements ist es auch ungültig CSS-Code, die Verwendung für einige ist keine Option Entwickler.


Weiterführende Literatur

Für weitere Methoden zum Trigger hasLayout check out: http://www.satzansatz.de/cssd /onhavinglayout.html

Für weitere Informationen über die hasLayout Eigenschaft Check-out des MSDN-Artikel auf hasLayout http://msdn.microsoft.com/en-us/library/bb250481 (VS.85) aspx (Dies ist eigentlich ein großer lesen, viele detaillierte Informationen)

Andere Tipps

Es ist wahr width alles andere als auto und zoom Trigger hasLayout und zoom ist flexibler Eigenschaft / Wert, da es nicht mit Zohan an der Breite tut, aber ich glaube nicht, das ist der Grund, warum Sie sahen die Entwickler von 99,9% verwenden .

In bestimmten Fällen schwebend ist es notwendig, dass die kombinierte Breite des Schwimmer summiert sich nicht zu 100% (wenn in Prozent angegeben), weil IE6 berechnet falsch, dass sie sich über 100% und in der Regel dieser Schwimmer fällt.

Die Lösung ist entweder auf einen -1px rechten Rand angeben nur für IE oder die Summe von 99,99% machen.

Ich habe den Fehler dokumentiert hier . Egal, ob es sich bezieht oder nicht, was Sie sehen, hoffen, dass die Bug-Link es jemand erfährt hilft.

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