UPDATEWarum ist der Umriss größer als sein div?
Um die Eingabe zurück auf die Größe bekommt ich es sein will, hatte ich von Polsterung und Grenzen loszuwerden. Das dies erreicht folgendes:
*{padding:0; margin:0; border:0;}
Dank CBroe, entdeckte ich, das ist einzigartig für FF, die eine Standard-Grenze von .75px und eine Polsterung von 1.5px zum input
hinzufügt. Für eine Gesamtmenge von ungefähr 4.5px. Chrome nicht.
UPDATE 2
Die oben fix das untergeordnete Element I auf die Größe dachte nur zurückkommt es sein sollte. Die folgende akzeptierte Antwort zeigt, dass FF einen Fehler hat, der erklärt, warum sich die Gliederung nicht wie gewünscht verhält, die Gliederung nur für die übergeordneten Elemente und nicht für absolute positionierte Nachkommen.
Ich habe zwei div
Elemente vertikal gestapelt mit ihrem outline
Eigenschaft auf 1px. Die div
Elemente haben eine height
von 117px.
Ich erwarte, wo die beiden div
Elemente treffen, um ihre Konturen zusammenhängend zu haben. Es tut so ohne Inhalt.
Wenn ich einen absolute
positionierten Eingang mit top = 97px und Höhe = 20px in den oberen div
platziere, wird der Umriss dieses div nach unten geschoben.
Hier ist a fiddle, die dies zeigt. Wenn Sie die input
entfernen, werden Sie sehen, wie die obere div
Gliederung neben der unteren div
sitzt.
Es gibt zwei Dinge (zumindest), die ich nicht verstehe:
1) in das Feld Prüfung des Browsers Entwickler-Tools (Firefox) verwendet wird, sehe ich, dass die oben div
in der Tat ist noch 117px hoch. Der Umriss sollte um das div gezogen werden, scheint aber nicht zu sein. Warum?
2) Der Eingang hat eine Spitze von 97px plus eine Höhe von 20px. Warum würde dies die Position des Umrisses beeinflussen? Es sieht so aus, als ob der Umriss um 4 Pixel nach unten geschoben wurde.
Ich kann jetzt nur in einem Chrome-basierten Browser testen und sehe nicht den Effekt, den Sie beschreiben. Das Eingabefeld verdeckt den oberen Umriss des unteren Div nur teilweise, was sich deutlich bemerkbar macht, wenn Sie den weißen Standardhintergrund für Transparent deaktivieren. – CBroe
@CBroe - Danke für die Erwähnung von Chrome. Ich habe mit Chrome getestet und es zeigt nicht das gleiche Verhalten wie Firefox - was mir sagt, dass die Standardeinstellungen für Padding, Rand und Rahmen unterschiedlich sein müssen. Dies würde erklären, warum das Setzen von explizit standardmäßig in Firefox behoben wird. Ich habe überprüft, dass dies eine Gesamtbreite von 1,5 Pixeln und eine Gesamtfüllung von 3 Pixeln ist. – mseifert