我对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请记住,您可以使用负边距,这样您就可以充分控制元素的位置。

08-06 05:41