2013-12-16 68 views
0

我在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> 

這是預期的輸出(注意缺少的標題和指數環之間的空間:

Expected Output

會發生什麼事是,嫩枝將包括像這樣不必要的空白:

Actual Output

這是我在Chrome的開發者控制檯中看到(注意""):

enter image description here

我試過{%- include -%},{% spaceless %}圍繞<div>{% include|trim(" "),但他們都沒有成功擺脫空白。我怎樣才能擺脫這些空白?

所有文件都以UTF-8編碼。當我編碼爲沒有BOM的UTF-8時,問題似乎消失了。

+0

是李>一個錯字? – Tib

+0

@Tib是的,修復。 – tyteen4a03

+0

您的文件是否使用UTF8編碼 - 無BOM? – Tib

回答

2

您只需要將編碼更改爲不含BOM的UTF8。 它發生在使用功能include時,我想它與Twig是一樣的。

相關問題就在這裏:https://stackoverflow.com/a/10200440/1235943

當您保存頁面爲UTF-8,一個特殊的簽名稱爲字節順序 標記(或BOM)包含在文件的開頭,表示 它是一個UTF-8文件。您只能看到具有低級文本 編輯器的BOM(如DOS編輯)。您需要從 包含的文件中刪除此簽名,以清除 頁面頂部的空白區域。

1

你的_nav.twig有錯誤嗎? 請參閱: li><a

+0

糟糕 - 那不是原始代碼。固定。但錯誤與該錯字不相關。 – tyteen4a03

+0

「{%include」。你需要一個空間嗎? – FazoM

+0

很確定樹枝解析它們就好了。正如我所說,我非常原始的代碼是「{%include」_nav.twig「%}'。 – tyteen4a03