我坐在这里遇到问题,这对我来说是个未知数。
当我使用普通的HTML-Code时,一切正常。当我使用php-echo时,我的导航栏看起来并不正常。
该栏应该看起来像这样(这里有普通的HTML代码):
http://i.gyazo.com/1e5c02f7e20dff5ec55800f259ff2c8f.png
并且使用php-echo看起来像这样:
http://i.gyazo.com/693dd2a2ac7a333905e2aa90cc8cc147.png
以及使用HTML编写的代码:
<div class="naviBar">
<ul id="mainNavi">
<li><a href='index.php'>index</a></li>
<li><a href='index.php'>index</a></li>
<li><a href='index.php'>index</a></li>
</ul>
</div>
此处使用PHP-ECHO:
<div class="naviBar">
<ul id="mainNavi">
<?php
echo "<li><a href='index.php'>index</a></li>";
echo "<li><a href='index.php'>index</a></li>";
echo "<li><a href='index.php'>index</a></li>";
?>
</ul>
</div>
所以差不多一个小时后我发现了#34;错误&#34;并找到了解决方案:
而不仅仅是回声,我使用&#34; \ n&#34;在这一行的最后,像这样:
echo "<li><a href='index.php'>index</a></li>\n";
为什么它在这里工作而不是正常的回声?这是我第一次遇到这个问题......这里有什么问题?
我希望这段代码剪辑现在已足够,如果它不是我会添加更多代码。
谢谢!
答案 0 :(得分:2)
首先,您必须了解无序列表的运行方式。语句的语法结构将每个<li>
项放在同一行上。此外,当然您必须使用换行符\n
或<br>
换行元素。否则PHP(以及HTML)就不能区分一行开始和结束的位置,它们只是运行行。这就是PHP的美妙之处,它提供了它的连接超级大国。
要解决您的困境并更正输出,以便在第一个屏幕截图中对<li>
元素进行分区,请尝试在echo语句中包含<ul>
标记。
答案 1 :(得分:-2)
因为你所有的回声&#34;正在同一个标签内进行评估。就HTML而言,这些标签内发生的任何事情都没有行返回。
你可以做到这一点(但你的方式更好):
<?php echo "<li><a href='index.php'>index</a></li>"; ?>
<?php echo "<li><a href='index.php'>index</a></li>"; ?>
<?php echo "<li><a href='index.php'>index</a></li>"; ?>