如何在内联有序列表中显示数字?

时间:2011-01-10 05:22:47

标签: css html-lists

我有一个清单..

<ol>
    <li>Login</li>
    <li>Address</li>
    <li>Shipping</li>
</ol>

它显示十进制数字很好,但是当我将<li>设置为内联或内联块时,数字就会消失!我在网上看到其他地方提到我必须确保我有足够的边距和填充......我确信我做了(每个10 px!)还有其他原因这些数字可能会消失吗?我从firebug得知,一旦我取消选中“内联”,他们就会回来......

css是

ol{
padding: 20px; 
list-style-type:decimal;
}
ol li {
display: inline;
margin: 0 10px;
padding: 0 10px;
}

4 个答案:

答案 0 :(得分:17)

我不知道为什么会发生这种情况,但可以通过左移而不是display: inline

来解决

请参阅https://jsfiddle.net/CMKzK/

ol {
    padding: 20px; 
    list-style-type: decimal;

}
ol li {
    float: left;
    margin: 0 10px;
    padding: 0 10px;
}

答案 1 :(得分:11)

你可以试试这个:

ol
{
  /* List will start at 25 + 1 = 26 */
  /* Remove the 25 if you want to start at 1 */
  counter-reset: LIST-ITEMS 25;
}

li
{
  display: inline;
  padding-right: 0.5em;
}

li:before
{
  content: counter( LIST-ITEMS ) ".";
  counter-increment: LIST-ITEMS;
  padding-right: 0.25em;
  font-style: italic;
  font-weight: bold;
}
<ol>
  <li>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod</li>
  <li>tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,</li>
  <li>quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo</li>
  <li>consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse</li>
  <li>cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non</li>
  <li>proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</li>
</ol>

答案 2 :(得分:5)

如果您不关心旧版本的IE,可以使用automatic counters and numbering

否则你应该手动指定数字(@Babiker的解决方案),或float你的li(@Eric Fortis'解决方案)。

答案 3 :(得分:0)

我已经解决了使用以下内容左移浮动元素来推动数字的问题:

li {
    overflow:hidden;
    list-style-position: inside;
    display:block;
}
.number {
    display:list-item;
    position:absolute;
}
.first-item {
    float:left; 
    /* revise margin to your needs */       
    margin-left:35px;
}
.second-item {
    float:left;
}

给出以下DOM:

<ol id="playlist">

        <li>
            <div class="number"></div>
            <a class="first-item" href="#">click here</a>
            <div class="second-item">some detail</div>
        </li>
</ol>

似乎也适用于内联块元素。