suit: semantisch gutes xhtml

Beitrag lesen

Prinzipiell ist dein Ansatz also nicht uninteressant und wurde auch schon diskutiert, aber es überwogen wohl stets die Gegenargumente.

mir ist klar, dass eine überschrift einen absatz erzeugen soll - für diese aufgabe ist aber das default-stylesheet zuständig

wenn ich in meinem default-stylesheet "h1 { display: inline; }" reinpacke, bleibt h1 dennoch ein blockelement, welches halt als inline-element dargestellt wird

ich finde es von der seite her etwas unpraktisch, dass das aussehen quasi in der dtd festgelegt wird

was spricht gegen folgendes

<samp /> ist ein zustandsloses [1] element

<samp /> an einer beliebigen stelle ist im default-stylesheet per display: block; formatiert und erzeugt einen absatz

<samp /> als kind von <p />, <li /> oder sonstigen "klassischen" inline-elementen ist im default-stylesheet mit display: inline; formatiert

natürlich werden die default-stylesheets wesentlich komplexer, aber die komplexität verschwindet dafür an anderer stelle - einerseits durch einsparung von redundatem markup (2x das gleiche element, 1x als block und 1x inline) und andererseits in den vordefinierten eigeneschaften in den dtds

klein mäxchen stellt sich das so vor: es gibt nur noch inline-elemente die beliebige andere inline-elemente enthalten dürfen (mit einschränkungen, dass zb li nur ein kind von ul oder ol sein darf), die grundformatierung (ob absatzbildend oder nicht) wird übers default-stylesheet des browsers erledigt

bei tabellen hat das ja auch funktioniert - früher wurden tabellen vom browser ohne berücksichtigung von css mit einer eigenen routine dargestellt, jetzt ist dafür css verantwortlich - egal welche elemente mittels table, table-row und talbe-cell formatiert werden

[1] also keine klassifizierung nach block oder nicht block