Problem mit Breite und Scrollbar bei verschachtelten DIVs
Andreas
- design/layout
0 romy0 Andreas
0 Ingo Turski
Hallo,
ich habe ein Problem mit einer unterschiedlichen Darstellung des selben Quellcodes in Firefox und Internet Explorer.
Ein Beispiel-Code für das Problem findet sich hier: http://forum.st-josef-boebingen.de/
Im Firefox bezieht sich die Breitenangabe des Inneren der beiden ineinader verschachtelten DIVs auf die Tatsächliche Breite des Äußeren DIVs abzüglich der Breite der Scrollbar des äußeren DIVs(so soll das ganze auch dargestellt werden).
Der Internet Explorer berücksichtigt die Breite der Scrollbar des äußeren DIVs jedoch nicht (zieht diese von den 100% nicht ab), weshalb das innere DIV die Breite des sichtbaren Bereichs plus der Breite der Scrollbar des äußeren DIVs zugewiesen bekommt und deshalb unter der Scrollbar des äußeren DIVs verschwindet bzw. zusätzlich eine horizontale Schrollbar angezeigt wird, was ich jedoch beides nicht möchte.
Wie kann ich nun erreichen, dass sich auch im Internet Explorer die Breite des inneren DIVs dynamisch an die des Äußeren, ABZÜGLICH der Breite der Scrollbar, anpasst (z.B. bei overflow=auto für das äußere DIV wenn die Scrollbar ein bzw. ausgeblendet wird)?
Andreas
Hi Andreas,
ich habe ein Problem mit einer unterschiedlichen Darstellung des selben Quellcodes in Firefox und Internet Explorer.
Ein Beispiel-Code für das Problem findet sich hier: http://forum.st-josef-boebingen.de/
Im Firefox bezieht sich die Breitenangabe des Inneren der beiden ineinader verschachtelten DIVs auf die Tatsächliche Breite des Äußeren DIVs abzüglich der Breite der Scrollbar des äußeren DIVs(so soll das ganze auch dargestellt werden).
Der Internet Explorer berücksichtigt die Breite der Scrollbar des äußeren DIVs jedoch nicht (zieht diese von den 100% nicht ab), weshalb das innere DIV die Breite des sichtbaren Bereichs plus der Breite der Scrollbar des äußeren DIVs zugewiesen bekommt und deshalb unter der Scrollbar des äußeren DIVs verschwindet bzw. zusätzlich eine horizontale Schrollbar angezeigt wird, was ich jedoch beides nicht möchte.
Das hört sich für mich nach dem Box-Model Bug des IE an, bin mir aber nicht sicher. Dazu findest du hier ganz gute Informationen.
ciao
romy
Hallo!
Mit der fehlerhaften Darstellung des Box-Modells im IE scheint das (leider) ganze nichts zu tun zu haben.
Gruß
Andreas
Hi,
Im Firefox bezieht sich die Breitenangabe des Inneren der beiden ineinader verschachtelten DIVs auf die Tatsächliche Breite des Äußeren DIVs abzüglich der Breite der Scrollbar des äußeren DIVs(so soll das ganze auch dargestellt werden).
In meinem Firefox 1.0.8 hat Dein Beispiel keine Scrollbalken. Ist aber auch verständlich, da es in CSS 2.1 noch kein overflow-y gibt.
Der Internet Explorer berücksichtigt die Breite der Scrollbar des äußeren DIVs jedoch nicht (zieht diese von den 100% nicht ab)
Der IE verhält sich falsch - standardkonform ist es so, dass zu der angegebenen Breite der (äußeren) Box auch die Breite des Scrollbalkens hinzugerechnet wird.
Wie kann ich nun erreichen, dass sich auch im Internet Explorer die Breite des inneren DIVs dynamisch an die des Äußeren, ABZÜGLICH der Breite der Scrollbar, anpasst (z.B. bei overflow=auto für das äußere DIV wenn die Scrollbar ein bzw. ausgeblendet wird)?
vermutlich gar nicht, wenn das wie ich vermute dynamisch laufen soll und nicht bekannt ist, ob ein Scrollbalken dargestellt wird oder nicht.
Du irst wohl den Platz für den Scrollbalken im IE einfach reservieren müssen.
freundliche Grüße
Ingo