我有这个css在每个外部链接后放置一个图标:
a[target="_blank"]:after {
background: url("images/external_icon.png") 0 0 no-repeat;
border: 0 none;
content: "";
padding: 0 14px 0 0;
}
如果我要更改为:before
,则该图标将显示在链接前面。到目前为止,非常好。
但是在我从右到左的网站版本中,在使用direction: rtl;
时,图标仍显示在元素的右侧,而不是“翻转”到另一侧。更改为:before
仍会使图标显示在元素的右侧。
这是一个已知的FF错误吗?还有其他解决方案吗? (在Chrome中运行良好)
答案 0 :(得分:1)
好的,所以我找到了解决方案。改为使其成为内嵌块。
display: inline-block;
height: 13px;
width: 13px;
简单的解决方案,但实现目标并不容易。
我仍然觉得问题中的css可能是浏览器错误?
答案 1 :(得分:1)
Firefox的行为似乎是正确的::after
的呈现应该与在a[target="_blank"]
末尾插入这些样式的空跨度的呈现相同。如果您尝试这样做,您在Chrome和Firefox中会获得相同的行为,并且它与:after
的Firefox行为相符。
但您可能想要提交一个WebKit错误。