我有一个<a>元素,然后使用:after伪元素显示一个>符号。
<a>元素的内容是动态的,因此它的宽度会发生变化,有时内容事件会跨越几行(因为这个<a>元素位于一个宽度固定的<div>中)。
我希望>的水平位置从最长行的末尾开始,也就是说,当我给它right:0;规则时,它应该在元素的最右边(垂直位置现在不重要):

这就是它在FF中的行为方式,但在Chrome和IE中,>出现在最短行的末尾:

我想了解是什么导致了浏览器之间的差异,但更重要的是,我希望所有浏览器的行为都像FF --将:after放在最长行的末尾。这有可能吗?
我给上述代码戴上了小布
发布于 2013-10-29 09:38:38
这是因为默认情况下,a元素被设置为显示inline,而火狐在inline元素中的位置与Chrome和IE略有不同。
要在Chrome和IE中修复这个问题(同时保留火狐的外观),只需给a元素一个inline-block显示:
a {
position:relative;
display:inline-block;
}改进的Dabblet演示。
https://stackoverflow.com/questions/19654431
复制相似问题