在火狐中浮动和text-align冲突的问题

公司没有前段,于是写页面样式也得亲自上阵,刚开始比较烦躁,写得多了也渐渐熟练起来。自以为小有所成,然而各个浏览器的兼容问题又浮上水面。这次碰到的是火狐的问题

<div style="padding-top: 25px;text-align:center;">
	<span id="previous" class="leftArrow" style="float: left;margin-left: 60px;">
	</span>
	<span id="naviPage" data-page="0" data-total="0" style="font-size: 18px;color: #b3b3b3;">
	0/0
	</span>
	<span id="next" class="rightArrow" style="float: right;margin-right: 60px;">
	</span>
</div>

谷歌和ie中显示是这样的


火狐中是这样的


实际上就是一个方块里三个元素,左右元素分别左浮动和右浮动,然后外层的div加上text-align:center元素,使中间的span居中,但是火狐中,左浮动元素影响了span的居中位置,挤到了右边,而右边的浮动元素甚至直接被span给挤出这行元素了。

按理说行内元素或者display:inline-block属性的方块不会挤占浮动元素的位置,火狐中的行内元素却跟block元素更像。

初步的解决方法把中间的元素也改成浮动,然后调整margin-left,不过因为要适应不同的页面大小,所有外层的div宽度是不固定的,这个办法行不通。

另一种方法是左右浮动元素使用绝对定位position:absolute;外面的div使用相对定位position:relative;这个方法可行。

<div style="padding-top: 25px;position:relative;">
	<span id="previous" class="leftArrow" style="position:absolute ;left: 60px;">
	</span>
	<span id="naviPage" data-page="0" data-total="0" style="font-size: 18px;color: #b3b3b3;">
	0/0</span>
	<span id="next" class="rightArrow" style="position:absolute;right: 60px;"></span>
</div>

后来想想其实这样写更加合理,左右箭头相当于背景,实际上应该脱离整个流,浮动元素还是会影响到其他元素,所以并不合适

以上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值