19

今天我玩了一点 Tumblr。我尝试将预先格式化的文本添加到描述段落块中,如下所示:

{block:Description}
    <p id="description">{Description}</p>
{/block:Description}

但是,元素是在元素<pre>之后呈现的,<p>而不是在我的意图中。

我在这里做错了什么还是一个错误?

4

3 回答 3

22

您不能在 HTML 中嵌套块级元素,例如<pre>, <p>,因此 Tumblr 的行为正确。在插入预先格式化的文本之前,您应该关闭您的段落。

如果您想要内联代码样式的文本,请尝试使用<code>标记。然后,如果需要,您可以使用 CSS 对其进行补充。

<p>I like to use the <code>code</code> tag in my HTML files.</p>
code
{
    padding: 2px 4px;
    color: #000000;
    background-color: #eeeeee;
    border-radius: 3px;
}
于 2011-03-20T22:03:31.337 回答
2

此外,我刚刚意识到我在将代码粘贴到 tumblr 内部<pre><code>标签中时遇到了类似的问题,因为您将代码包装在这些标签中并不能阻止您必须使用&lt;&gt;不是插入符号来逃避插入符号。

于 2011-04-27T03:19:53.813 回答
1

HTML5 术语是:

由于pre的类别不包括“短语内容”,pre因此不能放在 中p

不过,也许可以pre使用 CSS 样式进行模拟:How to change a span to look like a pre with CSS? 但我不确定它是否允许在p.

另请参阅:可以嵌套在 P 元素中的 HTML5 元素列表?

于 2019-10-29T08:23:30.677 回答