Problem mit "DOCTYPE"
Fabian
- html
0 Sönke Tesch0 Fabian
Hallo zusammen...
Habe da ein Problemchen, das mich schon seit Stunden, ja fast schon Tagen beschäftigt. Ich finde es einfach nicht raus.
Bin daran einen Blogger für meine Seite anzupassen. Im IE sieht es eigentlich schon einigermassen gut aus, aber im NN werden die Abstände zum Beispiel auf der linken Seite mit den Links oder auch im Inhalt viel Grösser dargestellt und die Seite wird dadurch viel länger.
Nun habe ich eher durch Zufall gemerkt, dass sobald ich den DOCTYPE weglasse es auch im NN fast richtig aussieht. Woran kann das liegen?!?
Der Doctype sieht so aus:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Die <a> und <p> Tags, die es ja vor allem betrifft, sind im Stylesheet folgendermassen definiert:
a {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
font-weight: normal;
text-decoration: underline;
line-height: 14px;
}
p {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
font-weight: normal;
line-height: 14px;
}
http://www.fh-design.ch/html/content/blogger/
Wäre ganz toll wenn mir jemand weiterhelfen kann, denn den DOCTYPE zu entfernen ist bestimmt nicht die Lösung des Problems! Danke...
Gruss Fabian
Im IE sieht es eigentlich schon einigermassen gut aus, aber im NN werden die Abstände zum Beispiel auf der linken Seite mit den Links oder auch im Inhalt viel Grösser dargestellt und die Seite wird dadurch viel länger.
Nun habe ich eher durch Zufall gemerkt, dass sobald ich den DOCTYPE weglasse es auch im NN fast richtig aussieht. Woran kann das liegen?!?
<sinnier>Warum ist eigentlich alles, was der IE anzeigt, automatisch "richtig"?</sinnier>
Du hast ein Problem mit dem IE, denn er stellt mit CSS hergestellte Abstände und Rahmen nicht korrekt dar, da die Größe der Elemente falsch berechnet wird.
Die Berechnung der Elementgrößen ist in der CSS-Doku beschrieben, siehe http://www.w3.org/TR/REC-CSS2/. Der IE bezieht die Abstände und den Rahmen mit in die with-Angabe ein, obwohl sie da nicht hingehören.
Das es sich beim Wechsel des Dokumenttyps ändert, liegt daran, daß mit dem Dokumenttyp zwischen dem standardkonformen und dem sogenannten Quirks-Modus umgeschaltet werden kann. In letzterem Verhalten sich die Browser so, wie es die Entwickler früher am lustigsten fanden, im standardkonformen halten sie sich an das, was in den Standards des W3C steht.
Eine Liste mit Typbezeichnern findest Du unter http://www.hut.fi/~hsivonen/doctype.html, mehr zum Thema hier im Forumsarchiv (exakt dieses Problem kommt wohl fast wöchentlich, putzigerweise immer mit der Aussage "Der IE macht's richtig, Netscape falsch!" :).
Wäre ganz toll wenn mir jemand weiterhelfen kann, denn den DOCTYPE zu entfernen ist bestimmt nicht die Lösung des Problems! Danke...
In der Tat, Du solltest besser den IE entfernen ;) Nein, ernsthaft: Dieser spezielle IE-Fehler ist in der (bestimmt schon ein Jahr alten?) Version 6 im besagten Standardmodus behoben worden, ein Update wäre also angebracht.
Falls Du Deine Seiten ohne Aufwand möglichst Besucherunabhängig schreiben möchtest, solltest Du Dich strikt an die Standards halten und herstellerspezifische Eigenarten am besten überhaupt nicht unterstützen.
Gruß,
soenk.e
Hallo Soenk...
Erstmal Danke für Deine Antwort. Hm, ich bin auch kein Microsoft Fan (mein Compi zu Hause hat kein einziges Microsoft Programm im Einsatz), aber trotzdem bin ich mir in diesem Beispiel hier jetzt nicht ganz sicher.
Denn ich habe im CSS ja 14 Pixel als Zeilenabstand eingegeben. Der IE zeigt diesen Abstand auch Pixelgenau so an wie angegeben. Also ist das für mich so richtig, aus welchem Grund sonst gebe ich 14 Pixel an wenn es dann eh nicht so dargestellt wird?!
Gruss Fabian
Denn ich habe im CSS ja 14 Pixel als Zeilenabstand eingegeben. Der IE zeigt diesen Abstand auch Pixelgenau so an wie angegeben. Also ist das für mich so richtig, aus welchem Grund sonst gebe ich 14 Pixel an wenn es dann eh nicht so dargestellt wird?!
Die line-height-Problematik kann ich von hier aus nicht nachvollziehen, sowohl der IE 6 (IE 5 habe ich nicht) als auch Mozilla zeigen exakt 14 Pixel bzw. das pixelgenau gleiche Schriftbild an.
Allerdings verschriebt sich das Gesamtbild ein wenig, dies hat jedoch nichts mit line-height zu tun. Überhaupt ist der Wunsch, ein pixelgenau gleiches Bild auf allen Browsern zu bekommen, eher sinnlos - dafür ist HTML nie gedacht gewesen, ganz im Gegenteil. Wenn Du sowas brauchst, benutze Systeme für's Printlayout wie zum Beispiel Acrobat.
Nichtsdestotrotz gibt es in der Tat auch Fehler bei der line-height-Berechnung (die fälschlicherweise von mir angenommen margin/padding/border-Problematik spielt hier keine Rolle), für den IE 5 siehe http://richinstyle.com/bugs/ie5.html und http://www.css.nu/pointers/bugs-ie.html (Direktlinks in die Liste gibt's dort nicht, benutze die Textsuche nach line-height), Netscape 4 ist nicht besser.
Was die Gecko-Browser (Netscape 6+, Mozilla und andere) gegenüber den IEs angeht, ist eigentlich immer davon auszugehen, daß der Fehler auf Seiten IE liegt. Das soll natürlich kein Gesetz sein, ist aber ein gut gesicherter Erfahrungswert hier aus dem Forum.
Gruß,
soenk.e