元素' div' div不能嵌套在元素中' ul'

时间:2014-04-09 06:43:32

标签: asp.net html html-lists

 <ul>
           <div style="float:left">
                   <asp:LinkButton ID="lbtnFirst" runat="server" CausesValidation="false" OnClick="lbtnFirst_Click">İlk</asp:LinkButton></div> 
           <div style="float:left"><asp:LinkButton ID="lbtnPrevious" runat="server" CausesValidation="false" OnClick="lbtnPrevious_Click"> << </asp:LinkButton></div>
</ul>

在我的Asp.net项目中,我收到此警告:

  

验证(XHTML 1.0 Transitional):元素&#39; div&#39;不能嵌套   在元素内&#39; ul&#39;

但是,当我点击F5外翻时,很棒。 现在我在Visual Studio 2013中使用localhost(代码端是C#) 我想问一下,这可能会在将来为我的网站带来问题吗?

3 个答案:

答案 0 :(得分:4)

警告是一个警告。您的页面显示正确只是因为浏览器对HTML规则不是太严格,但将来可能会更改。因此,您应该尝试保持HTML兼容并严肃对待警告。在这种情况下,我建议将<div>替换为<li>标记,并设置样式以防止边距和项目符号(我认为这就是您使用{{1}的原因而不是<div>,而不是<li>

要实现您的目标,请将此CSS样式应用于您的列表:

.your-ul {
    list-style: none;
}

.your-ul li {
    position:relative;
    margin-left: 0;
    display: inline-block;
}

您的HTML / ASPX代码如下所示:

<ul class="your-ul">
    <li><asp:LinkButton ID="lbtnFirst" runat="server" CausesValidation="false" OnClick="lbtnFirst_Click">Ilk</asp:LinkButton></li> 
    <li><asp:LinkButton ID="lbtnPrevious" runat="server" CausesValidation="false" OnClick="lbtnPrevious_Click"> << </asp:LinkButton></li>
</ul>

答案 1 :(得分:1)

通常人们会期望ul元素包含li个元素。 li元素包含div可能是有意义的,但将div(或其他任何东西)作为ul的直接子节点并没有多大意义。 1}}。您可以将div更改为li s,也许这就是您要查找的内容?

答案 2 :(得分:0)

你仍然可以使用div标签,它只需要包含在li元素中。

<ul>
<li>
    <div style="float:left">
        <asp:LinkButton ID="lbtnFirst" runat="server" CausesValidation="false" onClick="lbtnFirst_Click">İlk</asp:LinkButton>
    </div>
    <div style="float:left">
        <asp:LinkButton ID="lbtnPrevious" runat="server" CausesValidation="false" OnClick="lbtnPrevious_Click"> << </asp:LinkButton>
    </div>
</li>

虽然正如其他人所说,你也可以直接将样式应用于li元素。