Axel Richter: HTML-Listen mit CSS in Tabellenform bringen

Beitrag lesen

Hallo at,

  1. Information und Layout bilden eine Einheit.
    Dagegen hilft CSS.

Bitte? Gegen meine Meinung hilft CSS? Nochmals: Ich bin der Meinung, dass es _keine_ _vollständige_ Trennung von Information, Inhalt und Layout geben _kann_. CSS trennt die _Einstellungen_ für das Layout von der Strukturierung des Inhalts. Das ist auch gut so. Trotzdem erzwingen manche Strukturen _ein_ konkretes Aussehen. Es gibt da zwar keine festen Grenzen, aber es gibt Sachen, die _ich_ nicht machen würde. Eine Inline-UL-Liste gehört dazu. Das ist nämlich, meiner Meinung nach, eine simple Aufzählung und kann einfach im Textabsatz, mit Komma getrennt, notiert werden. Ganz schlimm wird es, wenn man per CSS _unterschiedliche_ Positionierung der Inhalte zulässt. Die Position (Reihenfolge, Lesefluss) ist nämlich nun gar nicht mehr vom Inhalt zu trennen. Sie gehört zur Struktur und somit ins HTML.

Bereits mit der Wahl der HTML-Elemente lege ich teilweise deren Layoutposition fest, weil sie die Logik so gebietet.
Du machst das so; andere machen es anders: Es gibt sehr unterschiedliche Ansätze, zentrale Navigationselemente im Quellcode unterzubringen. Die einen bevorzugen die layout-gemäße Plazierung vor dem eigentlichen Seiteninhalt; andere ordnen die Navigation dem sonstigen Inhalt des Dokumentes unter und plazieren die sie entsprechend am Ende des Quellcodes.

Ja, dann aber im HTML.

Eine Überschrift sollte als solche zu erkennen sein. Ein Liste sollte wie eine Liste aussehen...
Eine Liste kann auch etwa komma-separiert sein

... aber keine UL-Liste, eine DL-Liste eventuell. Das würde ich als Grenzfall der Darstellung einer DL-Liste betrachten:
<style type="text/css">
<!--
dl.komma, dl.komma dt, dl.komma dd {display:inline; padding:0; margin:0;}
dl.komma dd+dd:before {content:', ';}
-->
</style>
</head>
<body>
<h1>HTML-Elemente</h1>
<h2>Listen</h2>
<p><dl class="komma">
<dt>Diese Elemente kennzeichnen Listen:</dt>
<dd><ul></dd><dd><ol></dd><dd><dl></dd>
</dl>.</p>
</body>

oder innerhalb eines Satzes mittels "erstens [...] zweitens [...] drittens" etc. getrennt werden.

Ja, das wäre für mich ein Grenzfall der Darstellung einer OL-Liste.

"Freie" Layoutpositionierung kann ich fast immer nur mit DIV-Suppe erreichen.
Lerne CSS, und erkenne, dass der kluge Eisatz von ID viele Verschahtelungen unnötig macht :-)

... aber nicht, wenn man ganze Bereiche der Seite mit CSS mal so und mal so _positionieren_ möchte. Es geht mir um das Positionieren. Gegen unterschiedliche CSS für Farben, Hintergründe, Rahmen, Textformate ... habe ich nichts.

Bei einem Standard-Weblog mag so etwas noch funktionieren, da dort häufig die gleichen Strukturen Verwendung finden. Für eine auch nur ansatzweise komplexe Präsentation, etwa von Unternehmen mit sehr unterschiedlichen Tätigkeitsfeldern und Produktgruppen muss der Anwender des CMS die durch das Unternehmen vorgegebene Struktur in HTML implementieren und mittels CSS für den Nutzer handhabbar aufbereiten. Diese Arbeit kann ihm der Entwickler des CMS nur erleichtern, nicht abnehmen.

Richtig. Dann muss der Nutzer aber auch das HTML ändern können. Mit CSS alleine kann ich mir das eben nicht vorstellen.

viele Grüße

Axel