如何让ie6和ie7兼容display:inline-block;

块元素想要用display:inline-block;使其与行内元素在同行显示,这个效果除了ie6和ie7,其他的浏览器都是可以实现的,这里总结一下如何解决ie6和ie7不兼容的问题。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<style type="text/css">
p{display:inline-block;width:60px;height:30px;overflow:hidden;margin:0;padding:0;color:red; line-height: 45px;margin: 0 7px;}
</style>
<body>
<div style="color:#096;margin:0;padding:0;width:500px;line-height:30px;">p标签的display:inline-block;dfsf<p>p标签的display:inline-block;</p>p标签的display:inline-block;</div>
</body>
</html>

测试可得ie6和ie7效果。

之所以会出现这样的情况是因为display:inline-block;触发了ie的layout,这里有两个解决办法,可以让p标签的文字同行显示:
一:css部分加上这段代码:p{*display:inline;},注意是另起一行写。
二:将样式改为:
p{display:inline-block;width:60px;height:30px;overflow:hidden;margin:0;padding:0;color:red; line-height: 45px;margin: 0 7px;*display:inline;*zoom:1;

我自己测试了的,木有问题。

ps:以上部分是针对块级元素想要在行内显示的效果,如果是行内元素,a或者span,想要在行内增加宽度,背景,上下边距是不是也需要做兼容呢?不需要的,我测试了下,行内元素将display:inline-block;在ie6和ie7下面是可以同行显示没有兼容问题。
posted @ 2012-05-28 21:37  sheena的世界  阅读(341)  评论(0编辑  收藏  举报