【发布时间】:2015-07-08 20:49:08
【问题描述】:
我正在修改下载链接以在其上方显示两个图标(使用伪元素和图标字体)。这些图标需要分层。
为此,我为链接指定了position: relative,第二个图标(我将其放置在第一个图标之上)得到了position: absolute。然后我只是调整了top 和left 的值,直到它位于我想要的位置。
@import url('http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css');
body {
/* just to make sure everything fits on screen */
padding: 100px;
text-align: center;
}
.download {
position: relative;
color: #000;
text-decoration: none;
}
.download::before {
display: block;
content:'\f1c1';
font-family:'FontAwesome';
font-size: 42pt;
margin-bottom: 10px;
}
.download::after {
position: absolute;
display: block;
content:'\f019';
font-family:'FontAwesome';
font-size: 28pt;
top: -40px;
left: 50%;
margin-left: 5px;
}
<a href="#" class="download">Download PDF</a>
在 Chrome 中,它可以完美运行。 “下载”图标位于“文档”图标右下角的正上方。然而,在 Firefox 中,“下载”图标悬停在“文档”图标上方。我怀疑这是因为伪元素在技术上不是a.download 元素的DOM 子元素,尽管this example(不使用伪元素)有相同的定位问题。
position: absolute 与伪元素的浏览器实现有何不同,我该如何解决?
【问题讨论】:
-
虽然this example不使用伪元素还是有同样的定位问题。
-
对我来说 Chrome 在这里看起来很糟糕,但至于为什么我目前没有太多想法但也期待答案
标签: html css css-position pseudo-element