SLIM h3里面的p

时间:2017-03-19 18:50:06

标签: slim-lang

如果我想将标题标记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样式,因为结构会以破碎的方式呈现。

这是一个错误吗?或者我可以用某种方式解决这个问题?

2 个答案:

答案 0 :(得分:3)

您无法在Vector3.One标记内定义h3span等标记。 有关详细信息,请参阅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