2015-05-07 130 views
0

在下面的代码中,我在ul标签里面有一个div来制作可折叠的下拉。但是它抛出的div不能嵌套在ul里面,而li不能嵌套在div里面。请帮我解决这个问题。div不能嵌套在里面,li不能嵌套在div里

<li visible="false" runat="server" id="liMasters"> 
<ul> 
    <li class="heading accounts"> 
    <asp:Label ID="lblMasters" Visible="false" runat="server"></asp:Label></li> 
    <div class="menu-item"> 
    <li> 
     <div class="nav-item" id="SalesPrice" visible="false" runat="server"> 
      <a href="/Hoard/SalesPrice.aspx" id="SalesPriceUL"> 
      <asp:Label ID="lblSalesPrice" runat="server"></asp:Label></a> 
     </div> 
    </li> 
    </div> 
</ul> 
</li>    
+1

只有li可以是ul的直接子 – Pete

+0

您可以使用span标签替换div标签吗? –

+0

只需将'class =“菜单项”''移动到'li'并摆脱div。 – avrahamcool

回答

0

HTML <ul>标签 定义和用法
标签定义一个无序的(项目)列表中。
使用<ul>标记和<li>标记创建无序列表。

Reference from w3schools

如果你愿意,你可以插入你的<div>标签<li>标签,这将是罚款内。

0

li改为display: block而不是<div>。然后做各种各样的东西。

<li visible="false" runat="server" id="liMasters"> 
 
    <ul> 
 
    <li class="heading accounts"> 
 
     <asp:Label ID="lblMasters" Visible="false" runat="server"></asp:Label> 
 
    </li> 
 
     <li style="display: block" class="menu-item"> 
 
     <div class="nav-item" id="SalesPrice" visible="false" runat="server"> 
 
      <a href="/Hoard/SalesPrice.aspx" id="SalesPriceUL"> 
 
      <asp:Label ID="lblSalesPrice" runat="server"></asp:Label> 
 
      </a> 
 
     </div> 
 
     </li> 
 
    </ul> 
 
</li>

2

无序或有序列表,与<ul>标签开始只能包含列表项(<li>标签)。 <li>标签本身可以再次包含不同的元素,例如。 <a>标签。

查看http://www.w3.org/TR/html5/grouping-content.html#the-ul-element了解更多详情。

+0

这不完全正确。 li,ul支持html5中的嵌套div,但是它对html4及以下版本的支持有限。我已经使用过好几次了 –

0

这里有一个合理的解决方案:

<li visible="false" runat="server" id="litMasters"> 
    <ul> 
    <li class="heading accounts"> 
     <asp:Literal ID="litMasters" Visible="false" runat="server"></asp:Literal> 
    </li> 
    <li class="menu-item nav-item"> 
     <a href="/Hoard/SalesPrice.aspx" id="SalesPriceUL"> 
     <asp:Literal ID="litSalesPrice" runat="server"></asp:Literal> 
     </a> 
    </li> 
    </ul> 
</li> 

所有标签更改为文字。

0

您的文档类型更改为

<!doctype html> 

为HTML5具有内嵌元素

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

对于HTML4和下方内部嵌套块元件的广泛支持。

在li,ul和dl中嵌套div至少允许HTML5。