Listar ou trecho de código mais longo dentro do parágrafo
Ao escrever sobre algoritmos, muitas vezes é muito conveniente escrever algum (pseudo) código dentro de um parágrafo, oumesmo no meio de uma frase. Para apoiar visualmente a estrutura de uma frase mais complexa, as listas também são úteis.
Obviamente, uma frase não deve ser dividida em parágrafos diferentes. Mas no nosso caso, isso deve ser devido às regras de aninhamento de HTML.
O parágrafo éap
elemento, qualnão pode conter elementos de nível de bloco. Infelizmente para o nosso caso,pre
elistas estánível de bloco.
Se eu não obedecer a especificação e incluirpre
ouol
/ul
/dl
em ump
, ap
é fechado automaticamente antes da tag inicial do elemento por qualquer analisador que eu conheça. (Isto é devido aoSGMLOMITTAG
característica configurações emp
.) Talvez isso e compatibilidade com versões anteriores são a razão por trás da decisão de design de desaprovaçãopre
e listas dentrop
.
Existe alguma maneira, como incluir listas e trechos de código mais longos em parágrafos?
eu poderiareformular minhas frases e parágrafos não precisam de trechos e listas, mas precisam de muito raciocínio e atenção e podem tornar meu texto mais difícil de ler e entender. Isto énão é uma solução para mim.
eu poderia usarcode
comwhitespace: pre
edisplay: block
para trechos de código mais longos ecode
comwhitespace: pre-wrap
para os mais curtos. Isso é semanticamente correto?
Eu poderia pensar em listas dentro de frases como mero açúcar visual sem nenhuma semântica. Então eu usariaspan
s comdisplay: list-item
para fazê-los parecer listas. Isso seria correto do ponto de vista semântico? O sacrifício da estrutura semântica é necessário?
Esta questão se aplica a HTML e XHTML, pois as regras para elementos de aninhamento são as mesmas. Por HTML eu quero dizer HTML 4.01 Strict, por XHTML quero dizer XHTML 1.0 Strict. Esse problema é de alguma forma abordado no HTML 5?
Para ser explícito, quero umEm conformidade com os padrões, solução sintática e semanticamente correta, não um hack não padronizado de qualquer tipo. Especificamente,girandop
para dentrodiv
não é uma solução para mim.
ul
elemento nunca pode ser um filho dep
elemento<code>
vs<pre>
vs<samp>
para inline e bloquear snippets de código<pre>
tag fazendo navegadores fechar parágrafosPosso ter um<pre>
Tag dentro de um<p>
tag no Tumblr?Deve ol / ul estar dentro<p>
ou fora?lista não ordenada em um elemento de parágrafoNinho listas em parágrafos em htmlVeja tambémDesign CSS: Listas de Domesticação @ A List Apart