Detaillierte Einführung in die Erstellung von DOCTYPE-Typen_HTML/Xhtml_Webseiten

WBOY
Freigeben: 2016-05-16 16:45:51
Original
1167 Leute haben es durchsucht

Wenn wir DOCTYPE in HTML deklarieren, haben wir im Allgemeinen die folgenden Typen:




Ja, es gibt HTML und XHTML sowie Transitional und Strict. Wie der Name schon sagt, bedeutet XHTML, dass das Dokument im XML-Format geschrieben ist, während HTML bedeutet, dass das Dokument im HTML-Format geschrieben ist. Übergang bedeutet, dass das Dokument die Anforderungen von Transitional.dtd oder Loose.dtd erfüllt, und Strict bedeutet, dass das Dokument die Anforderungen von strict.dtd erfüllt. Tatsächlich kommt es jedoch häufig zu folgenden Missverständnissen:
(1) Wenn mein Dokument als XHTML deklariert ist, muss mein Dokument im vollständigen XML-Format vorliegen.
(2) Wenn mein Dokument als streng deklariert ist, muss mein Dokument im strengen Modus gerendert werden. Andernfalls wird es im Quirks-Modus gerendert.
Diese beiden Auffassungen sind sehr einfach, aber sie sind falsch. Wir machen oft diesen Fehler.
Zuallererst handelt es sich bei der Dokumentdeklaration um XHTML und HTML, die nicht direkt mit der Analyse des Dokuments (dh der Analyse des Dokuments durch den Browser) zusammenhängt. Tatsächlich hängt die Art und Weise, wie der Browser das Dokument analysiert, vom Format ab, in dem der Server das Dokument bereitstellt. Normalerweise gibt es zwei Möglichkeiten: „text/html“ und „application/xhtml xml“. Nur Dokumente, die im Format „application/html xml“ bereitgestellt werden, können im XML-Format geparst werden. Aufgrund des Browserverlaufs unterstützen jedoch nicht alle Browser Dokumente im Format „application/xhtml xml“. Versionen vor IE7 (einschließlich IE7) können dieses Format nicht unterstützen. Wenn IE7 auf dieses Format stößt, wird der Benutzer aufgefordert, es zu speichern eine andere Datei. Angesichts der weit verbreiteten Verwendung von IE werden die meisten Dokumente derzeit in der Form „text/html“ bereitgestellt. Dokumente, die im „text/html“-Format bereitgestellt werden, werden gemäß der Semantik von HTML analysiert. Selbst wenn der TAG in Ihrem Dokument nicht korrekt geschlossen ist, kann der HTML-Code dennoch korrekt analysiert werden wird angezeigt. Wenn Ihr XHTML daher (in den meisten Fällen) in der Form „text/html“ bereitgestellt wird, wird Ihr Dokument nicht im XML-Format geparst, selbst wenn Sie XHTML deklarieren Das Dokument folgt strikt den XML-Spezifikationen. Tatsächlich empfehlen viele Experten, dass Sie Ihr Dokument als HTML deklarieren sollten, wenn es nicht als „application/xhtml xml“ bereitgestellt wird.
Zweitens wird die Art und Weise, wie der Browser Ihr Dokument rendert, nicht durch die von Ihnen deklarierte DTD bestimmt. Wenn Sie DOCTYPE und DTD deklarieren, wird Ihr Dokument tatsächlich im strengen Modus gerendert (oder im Standardmodus, viele Browser verfügen auch über den Fast-Standardmodus, hier wird kein Unterschied gemacht). Dokumente ohne DOCTYPE werden im Quirks-Modus gerendert. Daher steht der Rendermodus des Browsers nicht in direktem Zusammenhang mit der von Ihnen deklarierten DTD.
Schließlich gibt es in aktuellen Browsern keinen Unterschied, ob Sie es als Strict.dtd oder Transitional.dtd deklarieren. Strict.dtd ist viel strenger als Transitional.dtd oder Loose.dtd. Viele Elemente können in strict.dtd nicht verwendet werden. Aufgrund der Browserkompatibilität kann der Browser Ihr Dokument jedoch auch dann korrekt anzeigen, wenn Sie Strict.dtd in DOCTYPE deklarieren und auf Elemente stoßen, die in strict.dtd nicht zulässig sind. Ich vermute, dass der Browser die DTD nicht berücksichtigt. Beispielsweise existiert der TAG-Iframe nicht in strict.dtd, aber selbst wenn strict.dtd in Ihrem DOCTYPE deklariert ist und dann der TAG-Iframe verwendet wird, können Browser (einschließlich IE7, IE8, FF3.0, Safari 3.0) dies tun um Ihr Dokument korrekt anzuzeigen. Der Browser analysiert Ihr Dokument nicht gemäß der von Ihnen deklarierten DTD. Derzeit können Sie garantieren, dass Ihr Dokument strict.dtd oder Transitional.dtd entspricht. Es kann nur durch einige Online-Validatoren analysiert werden, z. B. W3C Validator. Der Browser bietet Ihnen keine gute Unterstützung. Natürlich wäre es am besten, wenn Sie Ihr Dokument streng nach der von Ihnen deklarierten DTD schreiben könnten. Dadurch wird sichergestellt, dass Ihr Dokument keine Fehler erzeugt, wenn sich der Browser in Zukunft strikt an die DTD hält.
Deshalb,
(1) Wenn Ihr Dokument als „text/html“ bereitgestellt wird, sollten Sie es als HTML deklarieren. Dies gilt insbesondere, wenn Sie möchten, dass IE7 korrekt angezeigt wird.
(2) Wenn Ihr Dokument als XHTML deklariert ist, sollten Sie es in der Form „application/html xml“ bereitstellen.
(3) Versuchen Sie, DOCTYPE und DTD vor Ihrem Dokument zu deklarieren, um sicherzustellen, dass Sie das Dokument nicht im Quirks-Modus rendern.
(4) Wenn Sie eine DTD deklarieren, müssen Sie Ihr Dokument streng in Übereinstimmung mit den Anforderungen der DTD verfassen. Insbesondere wenn Sie Strict.dtd deklarieren, sollten Sie darauf achten, welche Elemente nicht verwendet werden dürfen.
Hinweis: Mit der Zeit wird die Browserunterstützung für HTML und XHTML, Strict.dtd und Transitional.dtd besser. Wenn Ihr Browser viel höher als IE7, IE8, FF 3.0 und Safari 3.0 ist, sollten Sie auf die Anwendbarkeit dieses Artikels achten.
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!