ie6、7下inline-block

来源:互联网 发布:情趣睡衣淘宝买家秀 编辑:程序博客网 时间:2024/06/06 13:05

1、inline元素(比如span,em等)的display属性设置为inline-block时,所有的浏览器都支持;

2、block元素的display属性设置为inline-block时,IE6/IE7浏览器是不支持的;

如果是内联元素使用了inline-block,那所有的浏览器显示都是正常的。(ie6、ie7中对内联元素使用display:inline-block,IE是不识别的,但使用display:inline-block在IE下会触发layout,从而使内联元素拥有了display:inline-block属性的表征。)

但是如果是块级元素使用了inline-block,那在ie6和ie7中是有问题的。(ie6/ie7中块元素仅仅是被display:inline-block触发了layout,而它本身就是行布局,所以触发后,块元素依然还是行布局,而不会像火狐等其他浏览器块元素呈递为内联对象。)

那么,ie6/ie7下块元素如何实现display:inline-block的效果?解决方法如下:

1、让标准浏览器识别display:inline-block;让ie6/7识别display:inline;来覆盖上面的display:inline-block;

然后通过zoom:1;来触发haslayout让inline元素在ie中表现得和inline-block元素一样。

.list1 li{display:inline-block; width:150px;*zoom:1;*display:inline;}

加上*zoom:1(触发ie6和ie7下的haslayout);*display:inline(只有ie6和ie7识别);
注:一定要加在display:inline-block;后面。

2、给元素加上float:left。让其表现的和inline-block一样的样式。

0 0