今天我在Tumblr上稍微玩了一下。 我试图将预格式化文本添加到描述段落块中,像这样:
{block:Description}
<p id="description">{Description}</p>
{/block:Description}
然而,<pre>
元素被渲染在<p>
元素之后而不是里面,这不是我想要的。
我做错了什么还是这是一个bug?
<pre>
和<code>
标签中时遇到了类似的问题,这是因为仅仅将代码包裹在这些标签中并不能防止您不得不使用<
和>
转义符而不是直接使用尖括号。请注意保留HTML标签。HTML5术语是:
p
的“内容模型”为“短语内容”:“https://html.spec.whatwg.org/multipage/grouping-content.html#the-p-elementpre
的“类别”为:“流内容”和“可触知内容”:https://html.spec.whatwg.org/multipage/grouping-content.html#the-pre-element由于pre
的类别不包括“短语内容”,因此不能将pre
放在p
中。
也许可以使用CSS样式来模拟pre
:如何使用CSS将span更改为pre?,但我不确定是否允许在p
中这样做。
另请参阅:可嵌套在P元素内的HTML5元素列表?
<div>
是一种分组元素,可以嵌套使用;它在使用CSS时非常有用,类似于<span>
。 - johnsyweb<div>
和<span>
不是块级元素,它们是分组元素。在我的回答中,我链接了HTML文档的全局结构(适用于HTML 4.01),这应该能帮到你。 - johnsyweb