Viennamade: <div><p>text</p></div> oder <div>text</div>

Hallo Forum!
Auf mir sauber erscheinenden Seiten habe ich beide Konstrukte gesehen. Sind wirklich beide sauber?
(Im Fall der meine Frage auslöst werden die div-Elemente mittels ihrer id durch CSS positioniert. Im IE6.0 funktionieren beide Konstrukte.)
Danke!
Viennamade

  1. Hallo Wiengemachter,

    Auf mir sauber erscheinenden Seiten habe ich beide Konstrukte gesehen. Sind
    wirklich beide sauber?

    Was meinst Du mit sauber? Laut Standard sind beide Konstrukte erlaubt.

    Oder meinst Du mit sauberer, was sinnvoller ist? Das kann man anhand
    eines Platzhalters wie »text« nicht entscheiden, da man mit HTML-Elementen
    ja versucht, den Inhalt möglichst passend auszuzeichnen. Ich wage die
    Vermutung, daß öfters die Einschließung von Text in ein Absatzelement
    sinnvoller ist, als nur die Einschließung in ein informationsloses
    div-Element.

    (Im Fall der meine Frage auslöst werden die div-Elemente mittels ihrer id
    durch CSS positioniert.

    Da ich keinerlei Ahnung haben kann, was Du damit anfangen willst, bzw.
    welchen Inhalt Du auszeichnen willst, kann ich nur einen so allgemeinen
    Rat geben:

    Zweites Konstrukt ist sinnvoll, wenn Du mehrere Textabsätze in einem
    Element gruppieren willst. Hast Du dagegen nur ein Stück Text, das
    auch nur ein Absatz wäre, würde ich die ID zur Positionierung gleich
    dem Absatz verleihen (<p id="a">text</p>), ohne mit divs rumzuwuschteln.
    Immer vorrausgesetzt, daß Absätze die geeignete Beschreibung des
    enthaltenden Textes sind und es nicht noch bessere Möglichkeiten der
    Auszeichnung gibt, natürlich.

    Tim

    1. ... Ich wage die
      Vermutung, daß öfters die Einschließung von Text in ein Absatzelement
      sinnvoller ist, als nur die Einschließung in ein informationsloses
      div-Element.

      Hallo Tim,
      Dein Wagnis zur Vermutung hat mir sehr weitergeholfen.
      Danke
      Viennamade

  2. Hallo,

    ich würde es von "innen nach außen" angehen. Was ist "Text"? Ein Textabsatz? Dann würde ich es in ein p-Tag setzen und alle Formatierungen, die ich auf den Text anwenden möchte, soweit es geht auf das p-Tag anwenden. Soll dann dieses ganze Konstrukt (also der fertig formatierte Textabsatz) formatiert werden (Wie Positionierung des "gesamt fertig formatierten Absatzes"), dann kommt eben ein Container darum herum, meistens eben ein div-Paar....

    Chräcker

  3. Hallo,

    <p>...</p> bezeichnet semantisch (= was die Bedeutung anbelangt) einen Textabsatz. Wenn Du einen Textabsatz in einem Text kennzeichnen willst, solltest Du <p>...</p> benutzen.

    <div>...</div> ist bedeutungsfrei!

    Allerdings stellt html ausreichend Elemente, eben p, aber auch li, h3 etc. zur Verfügung. Diese sollte man auch verwenden. Ich kenne eigentlich kein Element, an das das W3C nicht gedacht hat. Es gibt also auch keinen Grund div als unmittelbares Textauszeichnungselement zu verwenden.

    Die Funktion von div liegt in meinen Augen eher in der Unterteilung verschiedener Abschnitte innerhalb einer html-Datei, etwa <div id="menuebereich"> oder <div id="hauptinhalt"> usw. Darin würde ich aber stets auch die Standardelemente p, li, etc. benutzen. Dafür sind sie schließlich da!

    Heiner

    1. Hallo Heiner,

      Ich kenne eigentlich kein Element, an das das W3C nicht gedacht hat.

      Mit etwas Nachdenken fallen mir genügend textstrukturierende Elemente ein,
      die es bislang in keinem HTML-Standard, auch nicht im zukünftigen XHTML 2,
      gibt.

      Zum Beispiel:

      Dokumentengliedernde Elemente. Sicher, es gibt div und in XHTML 2 section
      (das eigentlich nichts anderes als ein besseres div ist). In bestimmte
      in Dokumenten, auch in den derzeit gebräuchlichen Internetseiten immer
      wieder vorkommende Klassen einteilen kann man diese allerdings nur über
      das class-Attribut mit Klassennamen nach Belieben, also ohne Mehrwert,
      wenn man nicht in den Quelltext guckt. Allgemeingebräuchliches, das mir
      einfällt, sind Teaser (Abstracts, Zusammenfassung, wieauchimmer), Anhänge,
      Glossare, Bibliografien. OK, die letzten beiden sind durch das a- und durch
      das abbr-Element etwas obsolet geworden. ;-)

      Etwas vergleichbares zu Fußnoten oder Randnotizen. <p class="notiz"> halte
      ich nicht für einen würdigen Ersatz (Benutzbar höchstens in einer idealen
      Welt, in der Textbrowser CSS wie :before beherrschen).

      Und wieso gibt es in HTML massenweise Zeugs für Techies wie mich, pre, code,
      in XHTML 2 anscheinend blockcode (Und nein, pre ist nichts anderes als ein
      div für mich) - aber nichts für andere Gebiete des Textes. Vergleiche dazu
      diese wunderschöne Diskussion über die Auszeichnung von Gedichten im
      Archiv. ;-)

      Tim

      1. Hallo Tim,

        Mit etwas Nachdenken fallen mir genügend textstrukturierende Elemente ein, die es bislang in keinem HTML-Standard, auch nicht im zukünftigen XHTML 2, gibt. (...)

        Nunja, die Erwartungen an HTML selbst kann man drosseln, wenn man XHTML eines Tages mit anderen XML-Sprachen produktiv vermixen kann, dann schreibt man sich eine HierarchicalDocumentML, eine PoetryML und dergleichen und muss sich um eindeutige und später noch verständliche Auszeichnung keine Sorgen machen. Ich denke mir, vorgefertigte XML-Sprachen mit festen DTDs für solche Zwecke werden bald aus dem Boden schießen. Deren Verwendung sollte prinzipiell schon in der nächsten Browsergeneration bzw. bei Aussterben obsoleter Browser und der Verbreitung der vollen CSS 2-Fähigkeiten möglich sein. Zumindest wird das praktischer sein, als sich damit herumzuschlagen, die HTML Working Group von neuen Elementen zu überzeugen. Es ist ja nicht so, als hätte noch niemand dem W3C Elemente u.a. zur klassischen Dokumentgliederung und für Randnotizen vorgeschlagen und als wüsste das W3C nicht, dass es viele Stimmen gibt, die eine Entwicklung in diese Richtung begrüßen würden. Ehrlich gesagt will ich nicht auf das langsame Mahlen der bürokratischen Mühlen vertrauen.

        Mathias

        1. Hallo Mathias,

          Nunja, die Erwartungen an HTML selbst kann man drosseln, wenn man XHTML
          eines Tages mit anderen XML-Sprachen produktiv vermixen kann

          Dann warte ich auf den Standard namens XHTML+MolilyML+MathML+SVG+RDF. ;-)

          Tim