与UL和LI对齐

时间:2011-11-27 20:40:57

标签: php html

由于某些原因,我的ul和lis根据我的代码没有正确匹配。不太清楚为什么。我试过将它移入和移出循环,似乎没有什么是正确的。

http://kansasoutlawwrestling.com/site-map

<?php
if((isset($categoriesArray)) AND ((!empty($categoriesArray))||($categoriesArray !== NULL)))
{
if(count($categoriesArray) <= 0)
{
    echo "There are no content pages on this site!";
}
else
{
    if (count($categoriesArray) > 0)
    {
        foreach ($categoriesArray as $row)
        {
            echo "<h2>".stripslashes($row['name'])."</h2>";
            echo "<ul>";
            if (count($row['children']) > 0)
            {
                foreach  ($row['children'] as $row2)
                {
                    echo "<li><a href=\"".$row2['link_url']."\">".stripslashes($row2['link_name'])."</a></li>";
                    if (isset($row2['child_pages']) > 0)
                    {
                        echo "<ul>";
                        foreach ($row2['child_pages'] as $row3)
                        {
                            echo "<li><a href=\"".$row3['link_url']."\">".stripslashes($row3['link_name'])."</a></li>";
                        }   
                        echo "<ul>";
                    }
                }
            }
            echo "</ul>";
        }
    }
}
}
else
{
echo "There are no content pages on this site!";
}
?>

2 个答案:

答案 0 :(得分:3)

1)你有一个错字:

echo "<ul>";
foreach ($row2['child_pages'] as $row3)
{
    echo "<li><a href=\"".$row3['link_url']."\">".stripslashes($row3['link_name'])."</a></li>";
}   
echo "<ul>";

最后一个回应应该是“&lt; / ul&gt;”。

2)即使修正了错字,你也有&lt; ul&gt;&lt; li&gt;&lt; / li&gt;&lt; ul&gt;&lt; li&gt;&lt; / li&gt;&lt; / ul&gt;&lt; / ul&gt;嵌套。内部&lt; ul&gt;元素应嵌套在额外的&lt; li&gt;中。元素,你可以通过在我复制的行中的第一个和第三个回声中添加li开始和结束标记来完成。

答案 1 :(得分:0)

echo "<ul>";
foreach ($row2['child_pages'] as $row3)
{
echo "<li><a href=\"".$row3['link_url']."\">".stripslashes($row3['link_name'])."</a></li>";
}   
echo "<ul>";  <---------------- <ul> -> </ul> this should be a closing ul