为什么我不能将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
它),它将自动折叠到里面最长项目的宽度。然后,您可以根据需要设置该宽度的ol
或li
样式。