Zu <p> oder nicht zu <p>?

16

Vor kurzem hatte ich eine Debatte mit einem Kollegen, der behauptete, dass beim Formatieren von Absätzen <div>ein <p>Tag über einem Tag verwendet werden sollte .

Der Fall gegen die Verwendung von <p>ist, dass es unregelmäßige Abstände zwischen den Browsern erzeugt und wahrscheinlich wie das <b>Tag veraltet .

Ist diese Meinung des <p>Tags von der Community geteilt?

BradB
quelle
5
Nur darauf hinzuweisen, <b>(und <i>in dieser Angelegenheit) sind alles andere als veraltet. Überprüfen Sie die HTML5-Spezifikation.
DisgruntledGoat
Guter Punkt - Ich habe gerade geprüft, dass <b> und <i> veraltete Tags sind und <strong> und <em> verwendet werden sollten.
BradB
<strong>und <em>sollte immer zur Hervorhebung verwendet werden. <b>und <i>sind in dieser Hinsicht veraltet, haben aber eine legitime, wenn auch eingeschränkte Verwendung in HTML5.
DisgruntledGoat
Gehört diese Diskussion wirklich hierher? Es scheint mir, dass dies auf Doctype sein sollte
Charles Boyung
@Charles - es ist im Moment eine Grauzone, da die Site noch in den Kinderschuhen steckt. Wenn Sie sich stark fühlen, können Sie eine neue Diskussion unter meta.webmasters.stackexchange.com beginnen - oder Ihre Kommentare hier posten
Mark Henderson

Antworten:

41

divs und ps dienen ganz unterschiedlichen Zwecken. psteht für Absätze, divsteht für Abteilungen. Eine dient der Textformatierung, die andere der Seitenstruktur. Es ist semantisch falsch, divanstelle von zu verwenden p.

Und der Grund, warum von der Verwendung babgeraten wird, ist, dass es sich um ein Präsentations-Tag handelt. Es hat keine semantische Bedeutung. Beide pund divhaben ihre eigene semantische Bedeutung. pwird niemals veraltet sein, solange die Leute noch Text in Absätze formatieren.

Ihr Kollege scheint mit dem Prinzip der Trennung von Inhalt und Präsentation nicht vertraut zu sein . Andernfalls würde er wissen, warum bes ihn verabscheut und dass Darstellungsprobleme wie der Textabstand in CSS definiert werden sollten, nicht in HTML.

Majestätsbeleidigung
quelle
11
+1 Stimme zu. Nur um zu betonen, dass "unregelmäßige Abstände zwischen Browsern" (auch wenn dies umstritten ist) vollständig von CSS gesteuert werden können.
MrWhite
4
Yep ... p { margin: 1em 0 }macht diese ganze Frage streitig.
DisgruntledGoat
7
<b>hat jetzt eine semantische Bedeutung: "Das b-Element stellt eine Textspanne dar, auf die zu nützlichen Zwecken aufmerksam gemacht wird, ohne dass eine zusätzliche Bedeutung vermittelt wird und ohne dass eine alternative Stimme oder Stimmung, wie Schlüsselwörter in einer Zusammenfassung eines Dokuments, eine Rolle spielt. Produktnamen in einer Rezension, umsetzbare Wörter in interaktiver textgesteuerter Software oder eine Artikel-LED. " ( Quelle )
David Murdoch
13

<p>und <div>sind nicht für den gleichen Zweck gedacht, da sie eine andere semantische Bedeutung haben:

<p> Möglicherweise wird es in Zukunft nicht mehr empfohlen, da es in XHTML und HTML 5 noch vorhanden ist.

Beide Tags haben unterschiedliche grafische Darstellungen. A <p>hat einen oberen und einen unteren Rand von 1em, während a <div>überhaupt keinen Rand hat. Dieser Punkt ist jedoch zweitrangig, da er möglicherweise von CSS überschrieben wird.

Beachten Sie auch diesen Unterschied: Während beide Tags vom Typ "block" sind, <div>können sie nur andere Blockelemente enthalten. Somit:

  • <p><p> bla </p></p> ist falsch, während
  • <div><div> bla </div></div> ist in Ordnung

Der wichtige Punkt, den Sie sich merken sollten, ist, dass beide Tags gültig und verwendet sind, aber nicht für den gleichen Zweck.

Matthieu FAURE
quelle