Lista o fragmento de código más largo dentro del párrafo

Al escribir sobre algoritmos, a menudo es muy conveniente escribir algún código (pseudo) dentro de un párrafo, oincluso en medio de una oración. Para apoyar visualmente la estructura de una oración más compleja, las listas también son útiles.

Obviamente, una oración no debe dividirse en párrafos diferentes. Pero en nuestro caso tiene que ser debido a las reglas de anidamiento de HTML.

El párrafo eslap elemento, cualno puede contener elementos a nivel de bloque. Desafortunadamente para nuestro caso,pre yliza sonnivel de bloque.

Si no obedezco la especificación e incluyopre ool/ul/dl en unp, lap se cierra automáticamente justo antes de la etiqueta de inicio del elemento por cualquier analizador que conozco. (Esto se debe a laSGMLOMITTAG característica configuración enp.) Tal vez esto y la compatibilidad con versiones anteriores sean la razón detrás de la decisión de diseño de no permitirpre y listas dentrop.

¿Hay alguna manera, cómo incluir listas y fragmentos de código más largos en párrafos?

yo podríareformular mis oraciones y párrafos no necesitan fragmentos ni listas, pero requiere mucha atención y pensamiento y podría dificultar la lectura y la comprensión de mi texto. Esto esno es una solución para mi.

Podría usarcode conwhitespace: pre ydisplay: block para fragmentos de código más largos ycode conwhitespace: pre-wrap para los más cortos. ¿Es esto correcto semánticamente?

Podía pensar en las listas dentro de las oraciones como un simple azúcar visual sin semántica. Entonces usaríaspans condisplay: list-item para que se vean como listas. ¿Sería eso correcto desde el punto de vista semántico? ¿Es necesario el sacrificio de la estructura semántica?

Esta pregunta se aplica tanto a HTML como a XHTML, ya que las reglas para anidar elementos son las mismas. Por HTML me refiero a HTML 4.01 Strict, por XHTML me refiero a XHTML 1.0 Strict. ¿Se aborda este problema de alguna manera en HTML 5?

Para ser explícito, quiero unSolución conforme con los estándares, solución sintáctica y semánticamente correcta., no es un hack no estándar de ningún tipo. Específicamente,torneadop dentrodiv no es una solución para mi.

Preguntas relacionadasul&nbsp;elemento nunca puede ser un hijo dep&nbsp;elemento<code/>&nbsp;vs<code><pre></code>&nbsp;vs<code><samp></code>&nbsp;para fragmentos de código en línea y de bloque<pre>&nbsp;etiqueta haciendo navegadores cerrar párrafosPuedo tener un<pre>&nbsp;Etiqueta dentro de un<p>&nbsp;etiqueta en Tumblr?Debe ol / ul estar dentro<p>&nbsp;¿o afuera?lista desordenada en un elemento de párrafoAnidar listas en párrafos en htmlVer tambiénDiseño CSS: listas de doma @ una lista aparte