2015-01-29 21:35
关于span在IE6/7浏览器中浮动错位折行的兼容问题
做网页的朋友们应该或多或少都遇到过坑爹的IE6和IE7中元素错位的问题,虽然现在都IE11了,但是IE6/7的用户还是出奇的多,为此也必须要保证我们网页的兼容性。
今天我们就来说一说在IE6/7中span标签加上浮动后,错位换行折行的问题。
例:
页面显示 :
首先,就阿萌个人的理解是,当一个元素浮动后,该元素的位置会脱离父容器,按照CSS 2.1中的定义,貌似其顶端将于另一边的第一个元素对其,从而导致错位折行的问题。
这个问题可以使用三种方式解决:
一、 通过设置绝对定位,例如:span元素的CSS设置position:absolute; right:3px; 父元素的CSS设置postion:relative 但是这样你就要考虑父元素的位置问题了,虽然解决了问题,但是又引起了新麻烦,不推荐。
二、 设置IE专用标签 *margin:-23px 5px 0 0; 也不推荐,这只是利用错位然后矫正,但是错位还是存在的。
三、把浮动的span元素放在非浮动元素前面,极力推荐。这样虽然有人说影响了语义,但我觉得这个没啥影响的。