Einzelnen Beitrag anzeigen
  #8 (permalink)  
Alt 24.10.2006, 13:30
RoToRa RoToRa ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.03.2004
Beiträge: 1.843
RoToRa wird schon bald berühmt werden
Standard

[QUOTE=Ares;312417]
Aber ich fand die Idee zunächst besser als des ganze durch ein zusätzliches (überflüssiges?) <div> zu umgeben, diesem das Padding und den Hintergrund zuzuweisen und Überschrift über den Absatz zu setzen.[quote]

Dafür sind aber DIVs da.

Zitat:
Mich hat erstaunt, dass wegen der h4 Überschrift der gesamte Inhalt der p-Box herausgenommen wird. Die p-Box bleibt also leer, und der gesamte Inhalt wird darunter angezeigt.
Die Darstellung von invalidem HTML ist nicht definiert. Browser können (müssen?) in dem Fall machen, wozu sie bock haben.

Zitat:
Das passiert auch, wenn an h4 mit display: inline; nicht als Blockelement verwendet.
Die Regel "P-Elemente dürfen keine Block-Elemente enthalten" ist eine HTML-Regel. Die Display-Eigenschaft mit CSS zu änderen ändert daran nichts.

Zitat:
Verwendet man aber ein span und setzt display: block; wird der Inhalt komischwer Weise korrekt in der p-Box angezeigt?
Umgekehrt ist genauso CSS die HTML-Regeln egal. CSS hat keine Probleme damit Blöcke in Inline-Elementen darzustellen.

Zitat:
Woran liegt es, dass der Inhalt aus der p-Box herausgenommen wird?
In HTML sind die schliessenend </p>-Tags optional. Wenn beim Parsen eines P-ELements auf ein Element gestossen wird (hier ein H4), das nicht in einem P vorkommen darf, wird ein weggelassenes </p> angenommen und das Element geschlossen.

Zitat:
Oder ist eine Überschrift innerhalb eines Absatzes so ein böser Fehler, dass man das besser anders mache?
Ja, es ist böse. Ohne DIV geht es nur, wenn Überschrift und Absatz nicht als eine Einheit angesprochen werden muss. Einfach H4 und P den selben Padding-Left geben.

Robin
Mit Zitat antworten