我在index.twig
中使用了此代码(完全按照显示格式化了代码段):
<div style="width: 12.5%; float: left; text-align: left; padding-right: 7.5px; padding-top: 5px;">{% include "_nav.twig" %}</div>
这是我的_nav.twig
(代码段也完全如图所示格式化):
<nav>
<ol class="linkSection">
<li><a href="index.php">Index</a></li>
<li id="nav-expand-collapse" class="isCollapsed"><a href="#">Expand All</a></li>
</ol>
<ol class="linkSection">
<li class="h2">Research</li>
<li><a href="index.php?p=research_intro">Introduction</a></li>
<li><a href="index.php?p=research_intro">Foo</a></li>
<li><a href="index.php?p=research_intro">Bar</a></li>
<li><a href="index.php?p=research_intro">Spam</a></li>
<li><a href="index.php?p=research_intro">Eggs</a></li>
</ol>
</nav>
这是预期的输出(注意标题与索引链接之间缺少空格:
如果Twig会包含不必要的空格,那么会发生什么:
这是我在Chrome开发控制台中看到的(请注意""
):
我在{%- include -%}
和{% spaceless %}
周围尝试了<div>
,{% include|trim(" ")
,但没有一个能够成功摆脱空白。我怎样才能摆脱这些空白?
所有文件都以UTF-8编码。当我编码为没有BOM的UTF-8时,问题似乎消失了。
答案 0 :(得分:3)
您只需将编码更改为UTF8而无需BOM。
当你使用函数include
时会发生这种情况,我想这与Twig相同。
此处的相关问题:https://stackoverflow.com/a/10200440/1235943
将页面保存为UTF-8时,称为字节顺序的特殊签名 标记(或BOM)包含在文件的开头,表示 它是一个UTF-8文件。您只能看到具有低级文本的BOM 编辑器(如DOS编辑)。您需要从中删除此签名 包含文件,以摆脱顶部的空白区域 页。
答案 1 :(得分:1)
您的_nav.twig
是否有错误?
看这里:
li><a