我对firefox 12+中伪元素的定位有问题(可能更早)。元素看起来好像是相对于页面的,但是我确实在锚标记上有position:relative
。有什么建议吗?
HTML格式
<a href="http://localhost:8888/wordpress/test-file/Test-File/" rel="attachment wp-att-150">Test File</a>
CSS
a[rel~="attachment"] {
display: inline-block;
position: relative;
background: #EAE3EA;
height: 64px;
border-radius: 7px;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;
-khtml-border-radius: 7px;
border: 3px solid #515151;
display: table-cell;
text-align: center;
vertical-align: middle;
padding: 0 5px 0 47px;
font-weight: 400;
}
a[rel~="attachment"]::before {
content: '';
background: url(img/file.png) no-repeat;
width: 37px;
height: 48px;
top: 5px;
left: 5px;
position: absolute;
}
最佳答案
不要使用相对定位,您可以使用边距来定位a::before
请记住,您可以使用负边距,这样您就可以充分控制元素的位置。