IE7以下存在非float元素和float:right元素时float:right元素下沉
bug问题:
在IE7以下ul中如果包含其他非li的元素,这些元素就会被他最近的上一个li所包裹。无法正常排列。
1 <style> 2 li{height:24px;line-height:24px;} 3 .title{width:100px} 4 .time{float:right;} 5 </style> 6 <ul> 7 <li><a class="title">这个是标题</a><span class="time">2014</span></li>
修改方法:
1.span和a标签交换位置。
优点:简单,方便。
缺点:语义结构发生改变,不合逻辑。
2.使用position绝对定位。
优点:简单,方便,更准确。
缺点:用多了float,总感觉怪怪的,但其实除了有可能引发z-index兼容性错误,这种方法最好。
3.所有元素全部浮动。
优点:只改动css不改动DOM结构。
缺点:要对父级进行fix修正,不然高度无法判断。
4.利用hack进行修正对span添加*margin-top:24px。
优点:只针对IE67,使代码符合思考习惯,我比较喜欢。
缺点:使用hack肯定不符合W3C。
5.其他利用js进行修改过。
浙公网安备 33010602011771号