Apr 15, 2009

inline-block属性

IE6和IE7可以通过触发haslayout模拟inline-block,而事实上,通常需要用到inline-block的元素都会用到width,而width本身就可以触发haslayout,很多文章在写到IE6、IE7中使用inline-block时,都写了zoom属性,事实上是不需要的。

延伸一个问题,很多时候在使用text-indent来隐藏文字时,一个inline元素并且使用了inline-block属性时,IE6下的麻烦就来了:

<div title="父容器"><span style="display:inline-block; width:120px; text-indent:-9999px; background:url(https://www.google.com/accounts/picasa20x20.png) no-repeat scroll 0 0">被隐藏的文字</span>测试文字测试文字</div>

如果以上代码中span的前面没有文字,整个div父容器就不见了。不见的原因还是text-indent,粗暴的解决方法:

<div title="父容器"> <span style="display:inline-block; width:120px; text-indent:-9999px; background:url(https://www.google.com/accounts/picasa20x20.png) no-repeat scroll 0 0">被隐藏的文字</span>
测试文字测试文字</div>

No comments:

Post a Comment