我正在使用handlebars + hbs(在块/扩展助手示例之后)为我的节点应用程序呈现html。出于某种原因,我的一个div被推下了1行。这是什么字符“”,它为什么会导致换行符?
我检查了镀铬的DOM查看器,并有一个与双引号的行:
这将导致此:
当我从DOM查看器中删除双引号(按退格或删除)布局是否正确:
废话是怎么回事?这是一个非印刷角色或什么? html/template中没有任何内容,并且空格(或任何字符)不应导致块级元素更改位置,对吗?
下面是一些代码:
的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>
块+延长助手:(from the hbs example)
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,我预编译的句柄模板全都在渲染时作为第一个字符发出。
模板是什么样的?你在喂什么数据?生成HTML的样子是什么?什么CSS有效? –
你应该发布你的hbs,以便人们可以看到什么可能会产生额外的“” –
@ muistooshort我想我的观点是,我已经排除了css,模板和数据。我试图弄清楚“”是什么字符,以及它为什么会导致换行符。问题的标题可能很糟糕。 –