2015-06-01 46 views
3

我需要在指定的HTML下面的输出,我用display:table财产与ul uldisplay:table-cell财产与他们li childeren,每ul ul有四个孩子想到最后ul ul,我已经设置每个li孩子的ul ul的宽度,但它不是与最后的原始工作,我不想编辑我的HTML,请帮助我,为什么它发生。在此先感谢为什么宽度在表格中不起作用?

JSFiddle

期望输出: -


enter image description here

结果我得到: -


enter image description here

HTML: -

<div> 
<ul> 
    <li> 
     <ul> 
      <li><a href="#">11</a></li> 
      <li><a href="#">12</a></li> 
      <li><a href="#">13</a></li> 
      <li><a href="#">14</a></li> 
     </ul> 
    </li> 
    <li> 
     <ul> 
      <li><a href="#">21</a></li> 
      <li><a href="#">22</a></li> 
      <li><a href="#">23</a></li> 
      <li><a href="#">24</a></li> 
     </ul> 
    </li> 
    <li> 
     <ul> 
      <li><a href="#">31</a></li> 
      <li><a href="#">32</a></li> 
      <li><a href="#">33</a></li>    
     </ul> 
    </li> 
</ul> 

CSS: -

ul { 
    list-style: none; 
    margin: 0; 
    padding: 0; 
    width: 100% !important; 
} 
div > ul{ 
    display: block;  
    width: 100%; 
} 
div > ul > li { 
    width: auto; 
} 
div > ul ul{ 
    display: table; 
    table-layout: fixed; 
} 
div > ul ul li { 
    border-left: 1px solid #ebebeb; 
    display: table-cell; 
    line-height: 0.9; 
    padding: 5px 20px; 
    width: 25%; 
} 
+1

用空出来'

  • 'http://jsfiddle.net/bmkbxz68/3/ – Sathish

    回答

    2

    只需添加另一个空<li></li>你的最后一排,这将是固定的,像这样:

    <ul> 
        <li><a href="#">31</a></li> 
        <li><a href="#">32</a></li> 
        <li><a href="#">33</a></li> 
        <li></li> 
    </ul> 
    
    +0

    我同意@brance –

    +0

    感谢@brance其工作 –

    +1

    高兴它制定了你! @praveen – brance

    3
    <div> 
    <ul> 
        <li> 
         <ul> 
          <li><a href="#">11</a></li> 
          <li><a href="#">12</a></li> 
          <li><a href="#">13</a></li> 
          <li><a href="#">14</a></li> 
         </ul> 
        </li> 
        <li> 
         <ul> 
          <li><a href="#">21</a></li> 
          <li><a href="#">22</a></li> 
          <li><a href="#">23</a></li> 
          <li><a href="#">24</a></li> 
         </ul> 
        </li> 
        <li> 
         <ul> 
          <li><a href="#">31</a></li> 
          <li><a href="#">32</a></li> 
          <li><a href="#">33</a></li> 
          <li><a href="#"> </a></li> 
         </ul> 
        </li> 
    </ul> 
    

    ,因为ü错过THRID行的单元格

    +0

    谢谢@arslan brance也给我同样的理由 –

    +0

    np当我回答没有回答,有时候人们回答同一时间:) –

    +0

    是的,你是正确的兄弟,但谢谢你的回答:) –

    1

    ,你只需要主李

    <ul><li></li> 
    <li></li> 
    <li></li> 
    <li></li> 
    

    demo

    1

    的长度不添加任何li,试试这个Demo

    ul { 
        list-style: none; 
        margin: 0; 
        padding: 0; 
        width: 100% !important; 
    } 
    div > ul{ 
        display: block;  
        width: 100%; 
    } 
    div > ul > li { 
        width: auto; 
    } 
    div > ul ul li { 
        border-left: 1px solid #ebebeb; 
        display: table-cell; 
        line-height: 0.9; 
        padding: 5px 20px; 
    } 
    
    +0

    你的答案工作不添加任何下一个李,@stanze,谢谢:) –

    +1

    欢迎praveen :) – stanze