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 verwendenspans 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.

Verwandte Fragenul 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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage