<br />Wir deklarieren DOCTYPE in HTML normalerweise folgendermaßen: <!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 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!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"> Ja, es gibt HTML und XHTML, und ja, es gibt 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. „Transition“ 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) Mein Dokument ist als XHTML deklariert, daher muss es im vollständigen XML-Format vorliegen. (2) Wenn mein Dokument als „Strict“ deklariert ist, wird es auf jeden Fall im „Strict Mode“ gerendert. Andernfalls erfolgt die Darstellung im „Quirks Mode“. Beide Auffassungen sind sehr direkt, aber sie sind falsch, und wir machen diesen Fehler oft. Zunächst einmal besteht zwischen der Dokumentdeklaration als XHTML und HTML kein direkter Zusammenhang mit der Analyse des Dokuments (d. h. der Analyse des Dokuments durch den Browser). 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 im Format „application/html xml“ können als XML analysiert werden. Aus historischen Gründen 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 ein Dokument in diesem Format stößt, fordert er den Benutzer auf, es als andere Datei zu speichern. Angesichts der weiten Verbreitung des Internet Explorers werden die meisten Dokumente derzeit im „Text/HTML“-Format bereitgestellt. Dokumente im Format „text/html“ werden gemäß der Semantik von HTML analysiert. Wie wir alle wissen, ist HTML sehr tolerant. Selbst wenn die Tags in Ihrem Dokument nicht richtig geschlossen werden, kann das HTML dennoch korrekt angezeigt werden. Wenn Ihr XHTML daher als „text/html“ bereitgestellt wird (was in den meisten Fällen der Fall ist), wird Ihr Dokument auch dann nicht im XML-Format analysiert, wenn Sie XHTML in DOCTYPE deklarieren. Es besteht daher keine Garantie dafür, dass Ihr Dokument strikt den XML-Spezifikationen entspricht. Tatsächlich empfehlen viele Experten, Ihr Dokument als HTML zu deklarieren, wenn es nicht als „application/xhtml xml“ bereitgestellt wird. Zweitens wird die Art und Weise, wie der Browser Ihr Dokument darstellt, nicht durch die von Ihnen deklarierte DTD bestimmt. Wenn Sie DOCTYPE und DTD deklarieren, wird Ihr Dokument tatsächlich im strikten Modus (oder Standardmodus, viele Browser umfassen auch den fast standardmäßigen Modus, der hier nicht unterschieden wird) gerendert. Dokumente ohne DOCTYPE werden im Quirks-Modus gerendert. Daher hat der Rendermodus des Browsers keine direkte Beziehung zu der von Ihnen deklarierten DTD. Ob Sie es als Strict.dtd oder Transitional.dtd deklarieren, macht für aktuelle Browser keinen Unterschied. Strict.dtd ist viel strenger als Transitional.dtd oder loose.dtd und viele Elemente können in strict.dtd nicht verwendet werden. Aus Gründen 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 das Iframe-Tag nicht in strict.dtd. Aber auch wenn Sie strict.dtd in Ihrem DOCTYPE deklarieren und das Iframe-Tag verwenden, können Browser (einschließlich IE7, IE8, FF3.0 und Safari 3.0) Ihr Dokument korrekt anzeigen. Der Browser analysiert Ihr Dokument nicht entsprechend der von Ihnen angegebenen DTD. Derzeit können Sie nur sicherstellen, dass Ihr Dokument mit strict.dtd oder Transitional.dtd übereinstimmt, indem Sie es mit Online-Validatoren wie dem W3C Validator analysieren. Browser können Ihnen dabei keine gute Unterstützung bieten. Tatsächlich wäre es natürlich am besten, wenn Sie Ihr Dokument streng gemäß der von Ihnen deklarierten DTD schreiben könnten. Dadurch wird sichergestellt, dass Ihr Dokument keine Fehler erzeugt, wenn der Browser sich in Zukunft strikt an die DTD hält. daher, (1) Wenn Ihr Dokument als „text/html“ bereitgestellt wird, sollten Sie es als HTML deklarieren. Wenn Sie eine korrekte Anzeige im IE7 wünschen, sollten Sie dies noch häufiger tun. (2) Wenn Ihr Dokument als XHTML deklariert ist, sollten Sie es als „application/html xml“ bereitstellen. (3) Versuchen Sie, DOCTYPE und DTD am Anfang Ihres Dokuments 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 bei der Deklaration von Strict.dtd sollte darauf geachtet werden, welche Elemente nicht verwendet werden können. Hinweis: Mit der Zeit wird die Browserunterstützung für HTML und XHTML, Strict.dtd und Transitional.dtd verbessert. Wenn Ihr Browser deutlich neuer ist als IE7, IE8, FF 3.0 und Safari 3.0, dann sollten Sie auf die Anwendbarkeit dieses Artikels achten. |
<<: Docker stellt eine Verbindung zum Host-Mysql-Vorgang her
>>: Was Sie über Filter in Vue wissen müssen
Grundlegende Netzwerkkonfiguration Obwohl Docker ...
Befehl „touch“ Es hat zwei Funktionen: Eine beste...
Negative Distanz bezieht sich auf Empathie. Vorwo...
1. Das ul-Tag hat in Mozilla standardmäßig einen ...
Popup-Nachrichten sind bei inländischen Internetd...
Nachdem ich einige Artikel gelesen hatte, habe ic...
Chinesisch-Tutorial https://www.ncnynl.com/catego...
Das Prinzip von nginx zur Erzielung einer Ressour...
Vorwort Es ist ein Klischee. Hier werde ich über ...
Inhaltsverzeichnis 1. Installieren Sie zuerst ech...
Inhaltsverzeichnis Vorwort 1.ignorieren einfügen ...
Inhaltsverzeichnis 1. Docker installieren 2. Code...
Inhaltsverzeichnis 1. Einige Konzepte, die Sie vo...
Vorwort Vue bietet eine Fülle integrierter Anweis...
Inhaltsverzeichnis 1. Ref und reaktiv 1. reaktiv ...