你们知道在 IE6中 是不支持 display:inline-block的属性的;那咱们来看下IE6中 块元素和内敛元素显示的效果和解决兼容的方法:css
<style type="text/css">html
*{ padding: 0; margin:0;}浏览器
body{ font-size: 14px; color: blue; font-weight: bold; }spa
div{ display: inline-block; width: 200px; height: 100px; background: #ddd}orm
a{display: inline-block;width: 200px; height: 200px; background: red}htm
</style>it
html以下: //用div表明块元素 a表明内联元素 在只设置了display:inline-block下方法
<body>im
<div>我是div1</div>layout
<div>我是div2</div>
<a href="#">我是a1</a>
<a href="#">我是a2</a>
</body>
如图:
咱们发现 div 能够设置 宽 高,可是不能像 内联元素那样 呈递先后挨在一块儿 而是独占一行。
a 能够设置宽高,没有独占一行,呈现内联呈递(表象)。
html 结构不改变 div追加zoom:1; _display:inline;属性
div{ display: inline-block; zoom:1; _display:inline; width: 200px; height: 100px; background: #ddd}
a{ display: inline-block; width: 200px; height: 200px; background: red}
变化如图:
咱们能够看到 div 具备了 inline-block 的内联呈递; _zoom:1 触发了 IE浏览器的layout,而后同时设置了 display: inline ,他的行为和标准中的 inline-block 相似!
此时 css 不变,咱们调一下html结构:
<body>
<a href="#">我是a1</a>
<a href="#">我是a2</a>
<div>我是div1</div>
<div>我是div2</div>
</body>
如图:
咱们发现 内敛元素的 右侧 有个间距!!! 前面几个图中 a 右侧就有间距,咱们调了下 结构 这样 更能表现出俩个a 标签的 右侧 都有 间距 。在标准浏览器下 也有的!
去掉 inline-block的间距 方法 这么几种:
去除html之间空格:
用HTML注释:
全掉闭合标签:设置包含元素 属性font-size:0: //内联元素 ie6 7下会有1px的小缝隙
还有许多方法解决 间距问题这里就不一一介绍了!!!!!