ZITAT(Thomas @ 17.03.2008 - 22:36)

Von der Semantik her ist ein <p> etwas anderes als ein <div> (siehe auch SELFHTML zu
<p> und
<div>). Während ersteres einen Textabsatz definiert (also mehrere zusammengehörige Textzeilen), dient letzteres lediglich dazu, verschiedenen HTML-Elementen gemeinsame CSS-Eigenschaften zuzuordnen.
Zur Konkretisierung: Ein <div> gruppiert die in ihm enthaltenen Elemente (Kindelemente) nicht nur, um gemeinsame CSS-Eigenschaften zuzuweisen, sondern erstmal im puren HTML-Kontext. Mal ein Beispiel:
QUELLTEXT
...
<body>
<div id="header">
<img src="..." width="..." height="..." alt="" id="logo">
<h1>Seitenüberschrift</h1>
</div>
<div id="content">
<h2>Einleitung</h2>
<p>Gaaaanz viel Text.</p>
<p>Noch viel mehr Text.</p>
<h2>Kalender</h2>
<div id="termin-1" class="termin">
<h3>Titel von Termin 1</h3>
<p>Beschreibungstext von Termin 1</p>
<ul>
<li>Datum: 30.02.2008</li>
<li>Beginn: 19:00 Uhr</li>
<li>Eintritt: 6 EUR</li>
</ul>
</div>
<div id="termin-2" class="termin">
<h3>Titel von Termin 2</h3>
<p>Beschreibungstext von Termin 2</p>
<ul>
<li>Datum: 31.02.2008</li>
<li>Beginn: 15:00 Uhr</li>
<li>Eintritt: 2 EUR</li>
</ul>
</div>
</div>
</body>
</html>
Über die <div>s mit den IDs
header und
content werden die Inhalte gruppiert, um sie mit jeweils für sie vorgesehenen CSS-Anweisungen zu versehen, so, wie es Thomas schon beschrieb. Die <div>s mit den IDs
termin-1 und
termin-2 dienen jedoch nicht diesem Zweck. Mit ihnen wird ihr Inhalt (Überschrift, Textabsätze und die Listenpunkte) ebenfalls gruppiert, offensichtlich werden sie aber keine voneinander verschiedenen CSS-Formatierungen haben. Sollen sie andere Formatierungen haben, wie der Rest der Seite, können sie in einem weiteren <div> gruppiert werden oder man benutzt die ebenfalls an diese <div>s vergebene Klasse
termin, die Elemente gleichen Zwecks (in diesem Fall einzelne Termine) beschreibt.
Über die IDs können die
einzelnen Termine z.B. per JavaScript angesprochen werden (auslesen der Texte, ändern der Texte (beispielsweise per Ajax), etc. pp.). Sollen
alle Termine angesprochen werden, kann man sie auch über die Klasse
termin ansprechen. Das gilt natürlich für CSS genauso wie für JavaScript.
<div>s können also verschiedenen Zwecken dienen, es kommt darauf an, was man mit/auf der HTML-Seite machen will. Letztendlich bleibt dem HTML-Element <div> erstmal nur der Zweck der Gruppierung.
So, ich hoffe mich jetzt weder verzettelt, noch herv überfordert zu haben.

Tschö, Auge