如果我想将标题标记h1..h5放入p中,则会以错误的方式呈现HTML:
纤细
p
h3 Header here
span Just text
预期
<p>
<h3>Header here</h3>
<span>Just text</span>
</p>
实际渲染
<p></p>
<h3>Header here</h3>
<span>Just text</span>
<p></p>
看起来没什么特别的,但在这种情况下,我无法绑定CSS样式,因为结构会以破碎的方式呈现。
这是一个错误吗?或者我可以用某种方式解决这个问题?
答案 0 :(得分:3)
您无法在Vector3.One
标记内定义h3
和span
等标记。
有关详细信息,请参阅HTML5 specification。
答案 1 :(得分:1)
Slim本身不关心标签,并按照您的意愿呈现代码:
$ slimrb
p
h3 Header here
span Just text
产生
<p><h3>Header here</h3><span>Just text</span></p>
匹配您的预期代码,除了空格。
这不是有效的HTML,因此当浏览器解析它时,它会将其更正为有效的。例如,Chrome检查器将显示:
<p></p>
<h3>Header here</h3>
<span>Just text</span>
<p></p>
浏览器在下一个p
元素之前关闭了h3
元素。
如果您希望在浏览器中使用此功能,请确保生成有效的HTML。也许使用div
代替p
?