我正在使用伪元素为编号列表(由div组成)创建样式化数字。是否可以将数字放在div的左边?
使用position: absoulute; left: 1em
无效,因为它没有考虑数字的实际宽度。
答案 0 :(得分:1)
简单示例
小提琴:http://jsfiddle.net/63pc4y57/1/
<强> HTML 强>
<div>one</div>
<div>two</div>
<div>three</div>
<强> CSS 强>
body
{
counter-reset: divs;
}
div
{
background: grey;
color: black;
height: 5em;
line-height: 5em;
margin-left: 2em;
width: 5em;
counter-increment: divs;
position: relative;
}
div:before
{
background: lightgrey;
content: counter(divs);
left: -1em;
position: absolute;
width: 1em;
}
如果你可以使用里面的数字{/ 1}}然后移除div
并在position: absolute
添加display: inline-block
,他们的宽度就会被取消考虑到
答案 1 :(得分:0)
使用right: 100%
将伪元素的开头放在div
.box {
border: 1px solid #c66;
background: #f99;
position: relative;
width: 100px;
height: 20px;
margin: 20px;
}
.box:before {
position: absolute;
right: 100%;
margin-right: 5px;
}
.box--one:before {
content: '1'
}
.box--two:before {
content: '2'
}
.box--ten:before {
content: '10'
}
&#13;
<div class="box box--one">
</div>
<div class="box box--two">
</div>
<div class="box box--ten">
</div>
&#13;