<div><p>text</p></div> oder <div>text</div>
Viennamade
- html
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
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
... 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
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
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
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
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
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