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