如何让ie6和ie7兼容display:inline-block;
2012-05-28 21:37
381 查看
块元素想要用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下面是可以同行显示没有兼容问题。
<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下面是可以同行显示没有兼容问题。
相关文章推荐
- 如何让IE6,7均兼容的display:inline-block
- 【兼容】ul float:left;加display:inline; ie6ie7 bug
- IE6和IE7不能识别display:inline-block的解决办法
- 实现三个div同一行显示,IE6 and Ie7 :display:inline-block
- "display: inline-block;"不兼容IE6
- display:inline-block; IE7不兼容采用hack解决之道
- 如何移除相邻两个 display: inline-block 元素间的间隔(转自:http://segmentfault.com/question/593/%E5%A6%82%E4%BD%95%E7)
- display:inline-block;在各浏览器下的问题和终极兼容办法
- display:inline-block兼容ie6/7的写法
- 【技术】display:inline-block兼容ie6/7的写法
- display:inline-block 在IE6中解决方案
- ie7下面不支持块级元素使用display:inline-block的问题
- display:inline-block在360和IE7不支持问题
- 块级元素display:inline-block 在IE6 IE7无效
- [ie6]display:inline-block; 的元素不要与字符串放在同一个元素下
- 让IE6区块元素具备display:inline-block属性
- 让IE6,7支持display:inline-block 和 max-height
- 在IE7、8下,如果同时遇到display:inline-block; text-indent:-9999px后出现BUG的解决方法
- display:inline-block 不被IE7识别的解决方案