由于我的其他答案显然没有被很好地理解,因此这是第二次尝试:
有两种方法可以回答这个问题。
实用(只给我看该死的照片!)
忘记:after
伪选择器,然后去做类似的事情
.pdflink {
min-height: 20px;
padding-right: 10px;
background-position: right bottom;
background-size: 10px 20px;
background-repeat: no-repeat;
}
理论上的
问题是:您可以样式化生成的内容吗?答案是:不,你不能。关于此问题,W3C邮件列表上进行了很长的讨论,但到目前为止还没有解决方案。
生成的内容将呈现到生成的框中,您可以设置该框的样式,但不能这样设置内容的样式。不同的浏览器表现出截然不同的行为
#foo {content: url("bar.jpg"); width: 42px; height:42px;}
#foo::before {content: url("bar.jpg"); width: 42px; height:42px;}
Chrome会调整第一个的大小,但第二个使用图像的固有尺寸
firefox和,即不支持第一个,而对第二个使用固有尺寸
歌剧在两种情况下都使用固有维度
(摘自http://lists.w3.org/Archives/Public/www-style/2011Nov/0451.html)
类似地,浏览器在诸如http://jsfiddle.net/Nwupm/1/之类的东西上显示出截然不同的结果,其中生成了多个元素。请记住,CSS3仍处于早期开发阶段,这个问题尚未解决。