我正在使用把手 + hbs(按照块/扩展帮助程序示例)为我的节点应用程序呈现 html。出于某种原因,我的一个 div 被推到了 1 行。
我检查了chrome中的dom检查器,有一行带双引号:
这导致了这个:
当我从 dom 检查器中删除双引号(按退格键或删除)时,布局是正确的:
到底是怎么回事?它是非打印字符还是什么?html/模板中没有任何内容,空格(或任何字符)不应该导致块级元素改变位置,对吧?
这是一些代码:
Layout.html 的相关部分
<div id="details" class="east">{{{block "east"}}}</div>
模板:
<div id="details-title">
<h3 class="title elide" style="height:26px;">{{Title}}</h3>
</div>
<div id="details-body" class="content text">
<img class="card" src="{{ImagePath}}" />
<div>
<span class="type">{{Type}}</span>
</div>
<div class="body">
{{{Body}}}
</div>
</div>
块 + 扩展助手:(来自 hbs 示例)
hbs.registerHelper("extend", function (name, context) {
var block = blocks[name];
if (!block) {
block = blocks[name] = [];
}
if (typeof context.fn !== "undefined") {
block.push(context.fn(this));
}
});
hbs.registerHelper("block", function (name) {
var val = (blocks[name] || [])
.filter(function () { return true })
.join("\n");
// clear the block
blocks[name] = [];
return val;
});
更新 显然,这是char 65279,我的预编译车把模板在渲染时都将其作为第一个字符发出。