为什么我不能使用显示:表行与列表样式类型:十进制



为什么我不能将display:table-row;list-style-type:decimal;一起使用?

我的 CSS 文件:

ol {
    list-style-type: decimal;
}
li {
    background-color: red;
    display: table-row;
}

我的 HTML 文件:

<ol>
    <li>This is the first.</li>
    <li>This is the second.</li>
</ol>

JSFiddle

目标:我只想显示每行前面的数字,所有<li>都长到最长的项目。

因为list-style-type只适用于display:list-item . :/

根据规范:


list-style-type   适用于:具有display: list-item的元素


编辑 根据评论中的新信息,您可以在现代浏览器上执行此操作:
http://jsfiddle.net/XMrbu/12/

ol {
   list-style-type:none;        
   counter-reset: sectioncounter;
}                      
li { display:table-row }
li:before {
   content: counter(sectioncounter) ":";
   counter-increment: sectioncounter;
   display:inline-block; width:2em; text-align:right;
   position:relative; left:-2.5em; margin-right:-2em;
}​

或者这个呢:
http://jsfiddle.net/XMrbu/14/

ol {
   display:inline-block;
   list-style-type:decimal;
   background:rgba(255,0,0,0.2);
}                      

如果您使ol display:inline-block(或float它),它将自动折叠到里面最长项目的宽度。然后,您可以根据需要设置该宽度的olli样式。

最新更新