有人能想出一种方法来使用ol
/ li
列表中的数字来标记图片吗?
<ol>
<li><img /></li>
<li><img /></li>
<li><img /></li>
</ol>
应用一些CSS应该输出以下内容:
------ ------ ------
| | | | | |
| | | | | |
| 1| | 2| | 3|
------ ------ ------
每个方格都是一张小型的图片。
我知道我可以在li
中插入一个带有数字的新元素,并根据需要对其进行操作,但我想使用内置的ol
编号进行操作。
答案 0 :(得分:9)
足够简单:
ol {
counter-reset: listCount;
}
li {
float: left;
border: 3px solid #f90;
counter-increment: listCount;
position: relative;
}
li:after {
content: counter(listCount,decimal-leading-zero);
position: absolute;
bottom: 0;
right: 0;
width: 2em;
height: 2em;
color: #fff;
background-color: rgba(0,0,0,0.5);
text-align: center;
line-height: 2em;
}
当然,这确实要求用户拥有一个能够使用css-generated-content的浏览器,这很好地排除了IE。
参考文献:
答案 1 :(得分:5)
似乎有点hacky恕我直言,但这有效(至少在Firefox中):
<ol>
<li><img src="http://placekitten.com/100/100" /></li>
<li><img src="http://placekitten.com/100/100" /></li>
<li><img src="http://placekitten.com/100/100" /></li>
</ol>
ol {}
ol li {
float: left;
list-style-position: inside;
position: relative;
width: 100px;
height: 100px;
margin-right: 5px;
line-height: 170px;
text-indent: 85px;
color: #fff;
}
ol li img {
position: absolute;
left: 0;
top: 0;
z-index: -1;
}
如果我是你,我会选择其他元素解决方案。
编辑:在chrome,IE9和8中测试过。似乎在两者中都能保持一致。然而,IE7中的问题可能会通过一些额外的浏览器特定的CSS来解决。