2015-10-26 19 views
2

我注意到一個非常奇怪的PHP行爲,其中echo函數似乎影響頁面上某些元素的樣式。PHP奇怪的回顯行爲

當我使用:

echo "<ul>"; 
echo "<li><a class='item'><span class='item-icon'></span>Item-1</a></li>"; 
echo "<li><a class='item'><span class='item-icon'></span>Item-2</a></li>"; 
echo "</ul>"; 

我得到 「項目圖標」 稍微失位。

但是當我使用這個我得到正確的圖標位置:

echo "<ul>"; 
?> 
<li><a class="item"><span class="item-icon"></span>Item-1</a></li> 
<li><a class="item"><span class="item-icon"></span>Item-2</a></li> 
<?php 
echo "</ul>"; 

我還是可以修復的CSS和使用第一個語法,但我很好奇,想知道是什麼原因造成這種porblem!

回答: 感謝布拉德肯特,增加換行符回聲修復問題!

echo "<ul>"; 
echo "<li><a class='item'><span class='item-icon'></span>Item-1</a></li>\r\n"; 
echo "<li><a class='item'><span class='item-icon'></span>Item-2</a></li>\r\n"; 
echo "</ul>"; 
+1

第二個(給出正確的)有換行符,首先不是 –

+0

您能顯示相關的css,以便我們可以重現它嗎? – Zsw

回答

2

根據被應用了哪些CSS ...

版本A包含<li>小號
B版本確實包含線之間沒有斷行斷愨的<li>小號

<li>blah</li><li>blah</li> 

VS

<li>blah</li> 
<li>blah</li> 

它可以有所作爲

+0

你是對的我在每個回聲的末尾添加了「\ r \ n」,它工作正常!謝謝 – DeepBlue

1

缺失=在這一行嗎?

    v 
echo "<li><a class'item'><span class='item-icon'></span>Item-1</a></li>"; 

單引號沒關係。