对于inline-block刚开始总觉得不怎么好用, 块元素在IE6,7的bug很纠结(我觉得不能说是bug, 是inline-block在IE6,7的私有属性是这样的)。对于块元素用hack(*display:inline;*zoom:1;)就可以解决了, inline-block又带着了内嵌的属性,换行被解析了。产生的间隙由文字大小决定12px间隙大概5-6px,每次都还要记着加上这个间隙,麻烦啊!直接在父级上加font-size:0px;标准浏览器间隙消失了。IE下还存在1PX间隙*word-spacing:-1px; 还有就是Safari不支持font-size:0px; 子级元素样式要重置
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
.b-wrap {
font-size:0;/* 所有浏览器 换行间隙 */
*word-spacing:-1px;/* IE6、7 1px间隙 */
}
.b-wrap .b{ /* 子元素重置为正常值 */
font-size: 12px;
letter-spacing: normal;
word-spacing: normal;
vertical-align:top;
width:50px; height:50px; background:red;
display: inline-block;
*display:inline;
*zoom:1;
}
@media screen and (-webkit-min-device-pixel-ratio:0){ /* firefox 中 letter-spacing 会导致脱离普通流的元素水平位移 */
.b-wrap{
letter-spacing:-5px;/* Safari 等不支持字体大小为 0 的浏览器, N 根据父级字体调节*/
}
}
</style>
</head>
<body>
<div class="b-wrap">
<span class="b">box1</span>
<span class="b">box2</span>
<div class="b">box3</div>
<div class="b">box3</div>
</div>
</body>
</html>