表单中有时候为了美观,放弃默认的button,而使用背景图片(提交(type=submit)和重置(type=reset)按钮),而考虑到 SEO因素,按钮的 value值不能为空,但又不能在页面上显示出来。这时候我们一般用text-indent:–9999px;overflow:hidden;来隐藏。 但老不死的IE6同志和没人用的IE7同志都来闹矛盾了——不支持。
解决办法也是一样的。就是给按钮设置display:block或者设置float:left|right来实现 display:block。
<style type=”text/css”>
.submit{
display:block;/*或者float:left|right*/
width:120px;
height:28px;
overflow:hidden;
background:url(submit.gif) no-repeat left top;
text-indent:-9999px;
}
</style>
<input type=”submit” value=”submit” />由此推断IE6/IE7中input的实现和inline-block类似
text-indent一般用来实现文字缩进,不过更多的时候是用来实现文字隐藏。发现在IE6/IE7中,text-indent会导致inline- block元素出现向左(text-indent的值为负时)或向右(text-indent值为正时)的偏移。
inline-block元素设置text-indent在IE6/IE7中不正常,在IE8中正常。造成这种情况的原因应该是IE6/IE7并没有真正 实现inline-block, 而是通过设置display:inline-block触发了IE的layout, 从而使内联元素拥有了inline-block属性的表症。
解决方法:
.element {display:inline-block !important; display:block;}因为ie6/ie7不支持 important 属性,所以在 ie6/ie7 下元素会显示为一个 block 级元素,而在支持 important 的浏览器(firefox, safari)下元素将显示为一个 inline-block 级元素。

相关文章
阅读推荐
精选导读

关注我们