【问题标题】:Meteor / Blaze / Blaze-Layout - not rendering some componentsMeteor / Blaze / Blaze-Layout - 不渲染某些组件
【发布时间】:2015-11-04 23:28:59
【问题描述】:

我正在玩 Meteor/Blaze/Blaze-Layout,对上述所有内容都非常陌生,并且遇到了一个简单但令我困惑的问题。下面的模板渲染了<p> 标签内的所有内容,但根本不渲染第一个<h2>

<template name="blazeTest">
  <h2>
   Hello, I am a header.
  </h2>
  <p>
    Hello I am a paragraph.
    <h2>
      Hello, I am a header inside of a paragraph.
    </h2>
  </p>
</template>

我是否遗漏了一些细节,或者是否有人对为什么会发生这种情况有任何见解?感谢您为我提供的任何帮助。

【问题讨论】:

  • 我刚刚将您的代码复制到我自己的项目中,模板很好...您是否尝试过查看是否有任何 CSS 样式导致隐藏 h2?
  • 当我使用 chrome 的元素检查器时它似乎出现了,所以它一定是 CSS 问题。事后看来很明显,谢谢!
  • 如果我不得不猜测,我会说它的渲染高于您在 chrome 中实际看到的内容。尝试在您的 h2 css 中添加一些 padding-top:

标签: javascript meteor meteor-blaze


【解决方案1】:

&lt;h2&gt; 不能包含在 &lt;p&gt; 中。该 html 在语义上不正确,因此您不能在 &lt;h2&gt; 中包含 &lt;p&gt;,反之亦然。

这里有一些额外的(有点模糊)信息:https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories

特别是关于 H1:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements

【讨论】: