IE6下的text-indent属性BUG解决方法
2011-05-13 10:38 rocdu 阅读(1241) 评论(0) 收藏 举报在下图的CSS实现时出现了IE6的text-indent属性BUG问题。

<h2>
<span title="搜狐母婴" class="sohu-baby-icon">搜狐母婴</span>
育儿日历—活动早知道
</h2>
h2{
width:390px;
color:#333;
margin:0 auto 8px;
font:600 14px/16px '宋体';
text-align:left;
padding-top:5px;
height:19px;
}
h2 .sohu-baby-icon{
width:73px;
height:24px;
float:left;
margin:-5px 9px 0 auto;
_margin:-5px 6px 0 auto;
display:block;
text-indent:-99999999px;
background:url(../img/sohu_baby_icon.gif);
}
以上DIV+CSS代码可以实现设计要求,但是如果CSS中不写"display:block"属性。结果IE6下就会出现BUG,看下图。

咦,标题文字忘记写了吗?不然,其实文字是存在的,只不过写在SPAN标签里的text-indent属性竟然影响到了它的父级H2标签内的文本,使标题文本移到了H2标签之外,就看不见了。IE6真是神奇呀~
SPAN本身是行内元素无宽无高,float之后,其转为块元素,宽高即现。按理说不再需要用display:block来定义其为块元素了,但本例中这个display:block却成了IE6的救命稻草。
浙公网安备 33010602011771号