:考虑伪不考虑方向(rtl)后? (火狐)
问题描述:
我有这个CSS把一个图标的每个外部链接后::考虑伪不考虑方向(rtl)后? (火狐)
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中正常工作)
答
好的,所以我找到了解决方案。改为使用内联块。
display: inline-block;
height: 13px;
width: 13px;
简单的解决方案,但到达那里并不容易。
我仍然觉得这个问题的CSS可能是一个浏览器的错误?
答
Firefox的行为似乎是正确的::after
的渲染应该与在a[target="_blank"]
末尾插入这些样式的空跨度的渲染相同。如果您尝试这样做,则Chrome和Firefox中的行为会相同,并且与Firefox的行为相匹配:after
。
虽然您可能想要提交WebKit错误。
你可以看看他们的Bugzilla(https://bugzilla.mozilla.org/)以查看是否可以找到有关该bug的任何信息。如果你没有找到它,你应该把它归档。 https://bugzilla.mozilla.org/enter_bug.cgi – Filip 2012-01-03 12:31:46