inline-block兼容性问题

IE5.5 后开始支持 inline-block, 但是它所支持的 inline-block 不能等同于 CSS2.1 中的 inline-block,因为 IE5.5 比 CSS2.1 更早提出 inline-block 的概念并作为所谓的「私有属性值」使用,所以二者表现出来的效果是不完全一致。
IE 5.5、6、7 、8(Q)中 block 元素对 inline-block 支持不完整,如果要达到类似的效果,需要先设置为 display:inline,然后使用 zoom:1等触发hasLayout
IE 5.5、6、7 、8(Q)中 inline 元素欲达到 inline-block 的效果只需直接设置此属性值或使用 zoom:1 等均可。
inline-block 产生的空隙与父级元素继承或者设定的 font-family、font-size 有关,通常情况下,12px 大小的 tahoma 字体,inline-block 后元素间产生的空隙(间隙)大约是 5px;
去除 inline-block 空隙终极解决方案:
.dib-wrap {
font-size:0;/* 所有浏览器 /
word-spacing:-1px;/ IE6、7 /
}
.dib-wrap .dib{
font-size: 12px;
letter-spacing: normal;
word-spacing: normal;
vertical-align:top;
}
@media screen and (-webkit-min-device-pixel-ratio:0){
/
firefox 中 letter-spacing 会导致脱离普通流的元素水平位移 /
.dib-wrap{
letter-spacing:-5px;/
Safari 等不支持字体大小为 0 的浏览器, N 根据父级字体调节
/
}
}
.dib {
display: inline-block;
*display:inline;
*zoom:1;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,841评论 1 92
  • 深入理解傅里叶变换Mar 12, 2017 这原本是我在知乎上对傅立叶变换、拉普拉斯变换、Z变换的联系?为什么要进...
    价值趋势技术派阅读 5,839评论 2 2
  • 我当时回答的是,二者均能实现隐藏元素,但是将元素设置为display:none;之后,会同时取消该元素之前占据的文...
    Miss____Du阅读 3,049评论 1 15
  • 由于明天就要坐车回学校,本来想着有袋子可以把这些东西装起来,或者就算没有也可以很轻易地买到,可是今天晚上逛遍所有超...
    Hifly816阅读 217评论 0 0
  • 每一个物体 都有阴面 用来体现 立体的感觉 每一个窗户 都给房间 提供一个 想象的空间 窗户外面 有一种 永不枯竭...
    杨戏水阅读 455评论 3 3