PHP奇怪的回声行为

时间:2015-10-26 00:31:42

标签: php css echo

我注意到一个非常奇怪的PHP行为,其中echo函数似乎会影响页面上某些元素的样式。

当我使用时:

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>";

我得到&#34; item-icon&#34;稍微偏离了位置。

但是当我使用它时,我得到了正确的图标位置:

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并使用第一种语法,但我很好奇知道导致这个问题的原因!!

答案: 感谢布拉德肯特,在回声中添加换行符解决了问题!!

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>";

2 个答案:

答案 0 :(得分:2)

取决于正在应用的CSS ...

版本A不包含<li>之间的换行符 版本B确实包含<li> s

之间的换行符
<li>blah</li><li>blah</li>

VS

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

它可以有所作为

答案 1 :(得分:1)

在此行中缺少=

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

单引号是可以的。