在编写算法时,在段落内部编写一些(伪)代码或(即使在句子的中间)通常都很方便。为了在视觉上支持更复杂句子的结构,列表也很方便。段落中的列表或更长的代码片段
显然,一句话不能在不同的段落中分开。但在我们的情况下,它必须归因于HTML嵌套规则。
段落为the p
element,其中不能包含块级元素。不幸的是,对于我们的情况,pre
和lists是block-level。
如果我不遵守规范,包括pre
或在p
ol
/ul
/dl
,该p
是我知道的任何解析器元素的开始标记前右自动关闭。 (这是由于p
上的SGML OMITTAG
feature设置造成的。)也许这和向后兼容性是拒绝pre
和p
内部列表的设计决定背后的原因。
有什么办法,如何将列表和更长的代码片段包含到段落中?
我能重新制订我的句子和段落并不需要片段和列表,但它需要大量的思考和关注,并可以让我的文字难以阅读和理解。这是对我来说不是解决方案。
我可以用code
与whitespace: pre
和display: block
更长的代码段和code
与whitespace: pre-wrap
为短的。这在语义上是正确的吗?
我可以把句子里面的列表看作仅仅是可视化糖而没有任何语义。然后,我会使用span
与display: list-item
使它们看起来像列表。从语义的角度来看,这是否正确?语义结构的牺牲是必要的吗?
这个问题同时适用于HTML和XHTML,因为嵌套元素的规则是相同的。通过HTML我的意思是HTML 4.01严格,通过XHTML我的意思是XHTML 1.0严格。这个问题在HTML5中是以某种方式解决的?
要明确,我想要一个符合标准,既语法和语义正确的解决方案,而不是一个非标准黑客的任何一种。具体而言,将p
转换为div
对我来说不是解决方案。
相关问题
ul
element can never be a child ofp
element<code>
vs<pre>
vs<samp>
for inline and block code snippets<pre>
tag making browsers close paragraphs- Can I have a
<pre>
Tag inside a<p>
tag in Tumblr? - Should ol/ul be inside
<p>
or outside? - unordered list in a paragraph element
- Nest lists in paragraphs in html
昨天我遇到了相关问题:http://stackoverflow.com/q/21651806/2157640如果可以的话,我会添加[tag:language-lawyer]和[tag:paragraph]标签。 – Palec