Liste oder längeres Code-Snippet im Absatz
Wenn Sie über Algorithmen schreiben, ist es oft sehr praktisch, einen (Pseudo-) Code in einen Absatz zu schreiben, odersogar mitten in einem Satz. Um die Struktur eines komplexeren Satzes visuell zu unterstützen, sind Listen ebenfalls nützlich.
Offensichtlich darf ein Satz nicht auf verschiedene Absätze aufgeteilt werden. In unserem Fall muss dies jedoch an den HTML-Verschachtelungsregeln liegen.
Absatz istdasp
Element, welchedarf keine Elemente auf Blockebene enthalten. Leider für unseren Fall,pre
undListen sindBlockebene.
Wenn ich mich nicht an die Spezifikation halte und einschließepre
oderol
/ul
/dl
in einemp
, dasp
wird von jedem mir bekannten Parser unmittelbar vor dem Starttag des Elements automatisch geschlossen. (Dies liegt an derSGMLOMITTAG
Merkmal Einstellungen einp
.) Vielleicht ist dies und die Abwärtskompatibilität der Grund für die Entscheidung, das Design nicht zuzulassenpre
und Listen im Innerenp
.
Gibt es eine Möglichkeit, Listen und längere Codefragmente in Absätze aufzunehmen?
Ich könnteumformulieren Meine Sätze und Absätze brauchen keine Schnipsel und Listen, aber sie erfordern viel Nachdenken und Aufmerksamkeit und könnten das Lesen und Verstehen meines Textes erschweren. Das istkeine Lösung für mich.
ich könnte benutzencode
mitwhitespace: pre
unddisplay: block
für längere Code - Schnipsel undcode
mitwhitespace: pre-wrap
für die kleineren. Ist das semantisch korrekt?
Ich könnte Listen in Sätzen als bloßen visuellen Zucker ohne jegliche Semantik betrachten. Dann würde ich verwendenspan
s mitdisplay: list-item
um sie wie Listen aussehen zu lassen. Wäre das aus semantischer Sicht richtig? Ist das Opfer der semantischen Struktur notwendig?
Diese Frage gilt sowohl für HTML als auch für XHTML, da die Regeln für die Verschachtelung von Elementen gleich sind. Mit HTML meine ich HTML 4.01 Strict, mit XHTML meine ich XHTML 1.0 Strict. Wird dieses Problem in HTML 5 irgendwie behoben?
Um genau zu sein, ich möchte einestandardkonforme, syntaktisch und semantisch korrekte Lösung, kein ungewöhnlicher Hack. Speziell,drehenp
indiv
ist keine Lösung für mich.
ul
Element kann niemals ein Kind von seinp
Element<code>
vs<pre>
vs<samp>
für Inline- und Blockcode-Snippets<pre>
Tags in Browsern schließen AbsätzeKann ich ein<pre>
Tag in einem<p>
Tag in Tumblr?Sollte ol / ul drinnen sein<p>
oder draußen?ungeordnete Liste in einem AbsatzelementListen in Absätzen in HTML verschachtelnSiehe auchCSS-Design: Zähmen von Listen @ A List Apart