阿萌的程序小屋

萌物控重度患者与您一起畅游技术与梦想的世界

关于span在IE6/7浏览器中浮动错位折行的兼容问题

做网页的朋友们应该或多或少都遇到过坑爹的IE6和IE7中元素错位的问题,虽然现在都IE11了,但是IE6/7的用户还是出奇的多,为此也必须要保证我们网页的兼容性。
今天我们就来说一说在IE6/7中span标签加上浮动后,错位换行折行的问题。
例:

2

页面显示  :

1

首先,就阿萌个人的理解是,当一个元素浮动后,该元素的位置会脱离父容器,按照CSS 2.1中的定义,貌似其顶端将于另一边的第一个元素对其,从而导致错位折行的问题。

这个问题可以使用三种方式解决:

一、 通过设置绝对定位,例如:span元素的CSS设置position:absolute; right:3px; 父元素的CSS设置postion:relative 但是这样你就要考虑父元素的位置问题了,虽然解决了问题,但是又引起了新麻烦,不推荐。

二、 设置IE专用标签 *margin:-23px 5px 0 0; 也不推荐,这只是利用错位然后矫正,但是错位还是存在的。

三、把浮动的span元素放在非浮动元素前面,极力推荐。这样虽然有人说影响了语义,但我觉得这个没啥影响的。
3

如有朋友感觉我的博文或代码有问题,愿能给予我宝贵的意见!Thanks

另注:转载请随意,但请带上本文地址,万分感谢。

http://www.wangmengyu.cn/?p=139

这就是真的真的是传说中的公告牌的说~~
暂且努力发展中~~

性别:男  年龄:20岁
现居:江苏  南京  浦口区
标语:萌即是一切