为什么我无法将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>
目标:我只想显示每行的数字,所有<li>
只要是最长的项目。
答案 0 :(得分:4)
因为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
的样式。