A-A+

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

2015年07月17日 htmlcss 暂无评论 阅读 74 次
块元素想要用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>
之所以会出现这样的情况是因为display:inline-block;触发了ie的layout,这里有两个解决办法,可以让p标签的文字同行显示:
正常浏览器效果:
683f52b4nbfbe689179eb&690ie6和ie7效果:
683f52b4nbfbe6add25a1&690
一: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下面是可以同行显示没有兼容问题。

给我留言

Copyright © web前端技术开发个人博客 保留所有权利  京ICP备14060653号 Theme  Ality

用户登录