摘抄自原文链接

简单来说display:inline-block,就是可以让行内元素或块元素变成行内块元素可以不float就能像块级元素一样设置宽高,又能像行内元素一样轻松居中。

在ie6中给div设置display:inline-block属性就会出bug。div依然是块元素。但是给span设置该属性就没问题(span本来就是行元素么?挖个坑后续再补充吧。)

我觉得这个方法比较好理解。只摘抄这一个。

方法1:直接让块元素设置为内联对象呈递(设置属性 display:inline),然后触发块元素的 layout(如:zoom:1 等)。兼容各浏览器的代码如下:

#div1 {

  display:inline-block;/*兼容ie8以上及符合所有w3c标准的浏览器*/

  *display:inline;/*兼容ie67专用的css hack*/

  *zoom:1;/*同上*/

}

tips:

  zoom属性(用来设置或检索对象的缩放比例。此外比较尴尬的是常常被另作他用,比如触发ie的hasLayout属性,清除浮动、清除margin重叠等。)

  取值:

    1)normal:使用对象的实际尺寸。

    2)<number>:用浮点数来定义缩放比例。不允许负值

    3) <percentage>:用百分比来定义缩放比例。不允许负值

愿人们早日远离ie67.web程序员的生活越来越美好。阿门。

05-11 14:03