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;
}
网友评论