4 Stimmen

Weglassen von optionalen Tags in html

Ich habe gerade gelesen dieser Artikel von Google. Ich dachte immer, dass schließende Tags wichtig sind, um Html-Dokumente sauber zu halten und sie maschinenlesbar zu machen. Aber sie empfehlen das Gegenteil.

Was halten Sie davon?

10voto

bobince Punkte 512550

Google befindet sich in einer etwas ungewöhnlichen Situation, da es so viele Kopien seiner Hauptsuchseite anbietet, dass sich jede noch so kleine Einsparung bei der Seitengröße schnell summiert. Das bedeutet, dass es für sie wirtschaftlich ist, ihre Seiten zu verkleinern, indem sie geschlossene Tags und Leerraum entfernen, was aber den Preis hat, dass sie schwerer zu pflegen sind.

Sie sind nicht Google; es ist unwahrscheinlich, dass es sich für Sie auszahlt. Sie werden feststellen, dass die Google-Seite, auf die Sie verlinken, die empfohlenen Tags nicht weglässt, da es sich nicht um eine der kritischen Seiten handelt, die Google häufig anzeigt. Vergleichen Sie dies mit der extremen Minifizierung der Startseite von www.google.com.

Verwenden Sie die gzip/deflate-Komprimierung, und Sie erhalten bereits eine minimale Übertragungsgröße; eine weitere Reduzierung des Markups ist eine verzweifelte Maßnahme, die, sofern Sie nicht gerade Lasten ausliefern, eine verfrühte Optimierung darstellt.

3voto

Randolpho Punkte 54011

Das hängt ganz von Ihrem Doctype ab. Wenn Sie HTML 4 transitional verwenden, ist es in Ordnung, die End-Tags wegzulassen. Wenn Sie XHTML oder HTML 4 strict verwenden, dann nein, schließen Sie Ihre Tags.

2voto

DisgruntledGoat Punkte 66021

Die HTML-Spezifikation erlaubt es, bestimmte End-Tags wegzulassen. In der Regel handelt es sich dabei um Tags, die sich nicht selbst verschachteln können, so dass der schließende Tag nie mehrdeutig ist. Nehmen Sie dieses Beispiel:

<p>A paragraph of text.
<p>Another paragraph of text.</p>

<div>A divider element...
<div>Another divider element...</div>

Im ersten Beispiel, wenn Sie zum zweiten Punkt kommen <p> bedeutet dies, dass der vorherige Absatz zu Ende ist, da man Absatz-Tags nicht verschachteln kann. Der Browser interpretiert dies als:

<p>A paragraph of text.</p>
<p>Another paragraph of text.</p>

Im zweiten Beispiel ist jedoch die zweite <div> erzeugt ein verschachteltes div-Element, und die </div> schließt das innere Element. Sie müssten ein weiteres </div> wo auch immer der äußere Teil enden soll.

Dennoch wird es wahrscheinlich einfacher sein, alle Tags nach und nach zu schließen, um jegliche Probleme zu vermeiden. Es hängt davon ab, wie gut Sie sich die Whitelist merken können. Wenn Sie z. B. vergessen, dass div s immer geschlossen sein müssen, bringen Sie Ihr Layout völlig durcheinander.

Und wie bobince schon sagte, ist es mit gzip ziemlich irrelevant. Wenn Sie 30 Absätze haben, beträgt der Unterschied zwischen den Versionen mit und ohne schließende Tags 120 Bytes. Wenn jedoch beide Versionen gzipiert sind, ist der Unterschied winzig - weniger als 10 Bytes. Ich schlage vor, HTML so zu schreiben, wie Sie es für richtig halten.

0voto

Jeff Storey Punkte 54752

Solange Sie sich an die DTD halten, bin ich damit einverstanden, dass Sie versuchen, das Durcheinander zu minimieren. Persönlich habe ich noch nie jemanden gesehen, der eine

</br>

Parser werden (sollten) gemäß der DTD parsen, so dass sie immer noch "maschinenlesbar" sind.

0voto

In diesem Artikel wird vorgeschlagen, das End-Tag eines Tag-Paares wegzulassen, das zunächst besser als Singleton dargestellt wird. Da die Tags, auf die er verweist, mit dem Durchstreichen als Singletons verwendet werden sollten und somit kein End-Tag haben, ist dies weder eine Best-Practice-Empfehlung noch fehlerhaft. Ich würde vorschlagen, diesen Artikel komplett zu ignorieren, da er versucht, eine bessere Methode zu empfehlen als eine Praxis, die von vornherein völlig fehlerhaft ist.

Ehrlich gesagt rate ich Ihnen davon ab, sich von Google Ratschläge zum Thema Markup geben zu lassen, denn Google hat sich dazu entschlossen, jeglichen Standard zu ignorieren, wenn sie die Anzahl der Zeichen für den Endnutzer reduzieren können. Versuchen Sie, ihren Code zu validieren, und überzeugen Sie sich selbst davon, dass sie kein Beispiel dafür sind, wie die besten Auszeichnungspraktiken behandelt werden sollten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X