Sie haben alles getan, was Sie für richtig hielten, aber die Seite verhält sich in den neuesten Browsern nicht richtig. Das liegt daran, dass Sie ungültiges XHTML und CSS geschrieben haben. Sie haben das W3C-Standard-Document Object Model (DOM) verwendet, um dynamische Elemente auf der Seite zu bearbeiten. Und wenn Browser versuchen, diese Standards zu implementieren, schlägt Ihre Website fehl. Dies wird höchstwahrscheinlich durch einen falschen Dokumenttyp (DOCTYPE) verursacht. In diesem Artikel erfahren Sie, wie DOCTYPE funktioniert, und erläutern die tatsächliche Verwendung dieser Dokumenttypen in der Praxis.
Warum ein DOCTYPE?
Gemäß den HTML- und DOCTYPEs sind ein wichtiger Bestandteil von Webseiten: Ohne sie wäre Ihr CSS nicht mehr gültig.
Wie im zuvor erwähnten ALA-Artikel erwähnt (und auch an anderen interessanten Punkten), muss DOCTYPE auch an andere Browser angepasst werden, wie z. B. Mozilla, IE5/Mac oder IE6 oder IE7.
Ein neuer DOCTYPE enthält einen vollständigen URI (sconf Hinweis: Universal Resource Identifier, Universal Resource Identifier) (eine vollständige URL), der Browser anweist, die Seite in ein mit dem Standard kompatibles Modell zu analysieren (zu rendern). Verarbeiten Sie (X)HTML, CSS und DOM in das, was Sie erwarten.
Die Verwendung eines unvollständigen oder alten DOCTYPE oder gar keines DOCTYPE führt dazu, dass der Browser ihn in ein „Quirks“-Modell umwandelt, bei dem der Browser davon ausgeht, dass Sie veralteten, fehlerhaften Code aus der Zeit nach den 90er Jahren schreiben.
Mit dieser Einstellung versucht der Browser, Ihre Seite mit dem alten Standard zu parsen und Ihr CSS in den IE4-Standard zu parsen. Und antwortet dem Eigentümer mit einem speziellen DOM (IE antwortet auf das DOM des IE, während Mozilla und Netscape 6 auf das Modell antworten, von dem sie glauben, dass es es ist).
Zweifellos ist das nicht das, was Sie wollen. Aber es ist etwas, was man oft bekommt. Daher möchte dieser Artikel diese falschen oder unvollständigen DOCTYPEs korrigieren.
(Hinweis: Der Opera-Browser unterstützt diese Regeln nicht. Er versucht immer, Webseiten in an Standards angepasste Seiten zu analysieren. Andererseits bietet Opera keine starke Unterstützung für W3Cs DOM. Sie können aber auch gut laufen.) Ed: Seitdem Nachdem der Artikel erstmals veröffentlicht wurde, hat Opera Opera 7 um DOM-kompatible Funktionen erweitert.
Wo ist DOCTYPE geblieben? (Wo sind all die Dokumenttypen geblieben?)
Obwohl Dokumenttypen ein wichtiger integraler Bestandteil von WEB-Standards in Browsern sind und W3C bei der Erstellung von WEB-Standards führend ist, erwarten Sie auch, dass W3C-Sites einige geeignete Dokumenttypen bereitstellen können, und möchten diese Informationen möglicherweise auch schneller und einfacher finden . Während ich dies schreibe, können Sie es jedoch noch nicht. {Hrsg.: Das W3C listet jetzt eine Reihe von Standard-DOCTYPEs auf seiner Website auf. Sie können diese in den W3C-Richtlinien sehen, z. B. „Meine Website ist Standard. Und Ihre?“}
W3.org ist kein List Apart, WebReference oder Webmonkey. Es war ursprünglich nicht dazu gedacht, WEB-Designern, Entwicklern und Organisationen der Zivilgesellschaft dabei zu helfen, ihr Verständnis und ihre Nutzung der neuesten Technologien zu verbessern. Das ist nicht seine Aufgabe.
Das W3C veröffentlicht eine Reihe von Richtlinien, die den meisten Webdesignern jedoch nicht bekannt sind. #
Sie können den ganzen Tag auf W3.org nach DOCTYPEs suchen, ohne sich die speziellen Listen ansehen zu müssen. Und wenn Sie einen DOCTYPE herunterladen (normalerweise im Zusammenhang mit einem bestimmten Vorschlag oder Arbeitsentwurf), funktioniert er auf Ihrer Website nicht richtig.
Auf der gesamten W3C-Website gibt es DOCTYPEs mit fehlenden URIs (sconf-Hinweis: nicht vollständige URIs), die auf die eigene Website des W3C verweisen. Sobald diese vom W3C auf Ihre eigenen Webseiten verschoben werden, werden diese URLs zu nicht mehr existierenden Dokumenten.
Beispielsweise wird der DOCTYPE vieler Websites direkt von W3.org kopiert:
Nachfolgend der zitierte Inhalt: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
Wenn Sie den letzten Teil dieses DOCTYPE („DTD/xhtml1-strict.dtd“) sehen, werden Sie feststellen, dass es sich hierbei um einen relativen Link zur W3C-Site handelt. Dies ist auf der W3C-Site, nicht auf Ihrer. Dieser URI hat also keine Auswirkung auf den Browser. (sconf-Hinweis: Wenn Sie W3.org besuchen, funktioniert dies nur, weil es sich um einen relativen Link handelt).
Dieser DOCTYPE sollte eigentlich geändert werden in:
Nachfolgend der zitierte Inhalt: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
Beachten Sie, dass der DOCTYPE dahinter einen vollständigen URI enthält. Dadurch wird eine gültige Ressource im Netzwerk angezeigt, sodass der Browser sie finden und Ihr Dokument in standardkonforme Form analysieren kann.
SO VERWENDEN SIE DOCTYPE (DOCTYPES, DIE FUNKTIONIEREN)
Wie verwendet man DOCTYPE? Ich bin froh, dass du gefragt hast. Der vollständige DOCTYPE unten ist alles, was wir brauchen:
HTML 4.01 streng, Übergang, Rahmen
Nachfolgend der zitierte Inhalt: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd "> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd "> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd "> |
XHTML 1.0 strenges, Übergangs-Framework
Nachfolgend der zitierte Inhalt: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd "> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd "> |
XHTML1.1-DTD
Nachfolgend der zitierte Inhalt: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" |