verschachtelte divs / Doctypes
Viennamade
- html
0 Thomas Luethi0 Zeromancer0 Viennamade0 wahsaga
Hallo!
Folgende Zeilen machen eine unterschiedliche Ausgabe, je nach dem ob die Seite xhtml-strict deklariert ist oder nicht:
<div style="border:1px solid red; width:200;background-image:url(Bilder/menulo.gif);background-repeat:no-repeat;">
<div style="border:1px solid green;margin-left:20px">abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd
</div>
</div>
Ohne xhtml-Deklaration wird ein Kästchen gezeichnet. Innerhalb des Kästchen ein Weiteres dessen linke border 20px Abstand "versetzt" ist und dessen Text umbricht. Das Ganze bleibt also 200px breit und genauso will ich es haben.
Schreibe ich allerdings die xhtml-Deklaration dazu, bricht der Text nicht mehr um, daß äußere Kasterl ist so breit wie das Browserfenster, das innere um 20px weniger.
Warum ist das so und wie schaffe ich eine xhtml-Ausgabe wie gewünscht.
Äh, im weiteren Sinne "spiele" ich mit dem Problem seit 2 Tagen :-)
Beste Grüße
Viennamade
Hallo,
Du solltest noch sagen, um welchen Browser es geht.
Ich vermute: um MS IE 6.0.
Schreibe ich allerdings die xhtml-Deklaration dazu,
Was meinst Du damit genau? Die XML-Deklaration?
<?xml version="1.0" encoding="UTF-8"?>
Die schickt den MS IE 6.0 in den Quirks Mode.
Dann hat er genau das gleiche kaputte Box Modell
wie seine kaputten Vorgaenger (5.0, 5.5).
Warum ist das so
Vermutung: DOCTYPE-Switch.
http://www.heise.de/ix/artikel/2004/03/136/
http://gutfeldt.ch/matthias/articles/doctypeswitch.html
wie schaffe ich eine xhtml-Ausgabe wie gewünscht.
Verzichte auf die (fakultative) XML-Deklaration.
Fuer die aelteren, wirklich kaputten Versionen von MS IE
musst Du vielleicht zu einem der zahlreichen Box Model Hacks
greifen, wenn Du's nicht anders schaffst.
Neben der Angabe der betroffenen Browser waeren
zwei Testdokumente online sehr hilfreich, um das
"Problem" nachzuvollziehen.
Gruesse,
Thomas
Hallo!
Danke für die Antwort, Problem behoben, die fehlende Einheit bei der width-Angabe war es.
Verzichte auf die (fakultative) XML-Deklaration.
Fuer die aelteren, wirklich kaputten Versionen von MS IE
musst Du vielleicht zu einem der zahlreichen Box Model Hacks
greifen, wenn Du's nicht anders schaffst.
Wenn ich die besprochene Seite mit XML-Deklaration ausstatte und in die Adresszeile
javascript:alert(document.compatMode);
eingebe erhalte ich eine alert-Box: "BackCompat"
"Verzichte" ich auf die XML-Deklaration, dann erhalte ich mit dieser Javascriptzeile: "CSS1Compat"
Beste Grüße
Viennamade
Hallo,
<div style="border:1px solid red; width:200;
Welche Einheit meinst du bei 'width'?
Mit freundlichen Grüßen
André
Hallo André!
<div style="border:1px solid red; width:200;
Welche Einheit meinst du bei 'width'?
Ja, diese Frage haben sich auch die Browser gestellt ... jetzt funktionierts.
Könnte mir jetzt eine Zehe abbeißen.
Danke
Viennamade
hi,
Könnte mir jetzt eine Zehe abbeißen.
auch mit neun zehen kann man leben, also: mahlzeit!
btw: nächstes mal auch CSS validieren lassen, und wieder vernünftige mahlzeiten zu dir nehmen ;-)
http://jigsaw.w3.org/css-validator/
gruss,
wahsaga