我有一个清单..
<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;
}
答案 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>
似乎也适用于内联块元素。