IE6中a标签同时使用inline-block与text-indent时出现的

当前位置 : 首页 > 网页制作 > CSS > IE6中a标签同时使用inline-block与text-indent时出现的

IE6中a标签同时使用inline-block与text-indent时出现的

来源: 作者: 时间:2015-11-16 13:30
IE6中inline-block与text-indent同时使用时没想到也存在BUG,给a标签加上文本后使用text-indent将文字“隐藏”掉,在谷歌中显示完好,放到IE6中测试,却显示的很诡异,于是搜集整理中
IE6中inline-block与text-indent同时使用时没想到也存在BUG,给a标签加上文本后使用text-indent将文字“隐藏”掉,在谷歌中显示完好,放到IE6中测试,却显示的很诡异,于是搜集整理中
IE6中inline-block与text-indent同时使用时没想到也存在BUG。以前写代码做按钮时喜欢用a标签再给个背景,因为图片上的字体好看所以直接就用了图片,a标签也没有加文本。然而,最近考虑到SEO优化,需要给a标签加上文本,第一想到的方法就是给a标签加上文本后使用text-indent将文字“隐藏”掉。在谷歌中显示完好,放到IE6中测试,却显示的很诡异。如下图:

代码如下:

复制代码
代码如下:

<div style="margin:0 auto;width:300px;border:1px #ccc solid;background:#f8f8f8;">
<a href="#" style="display:inline-block;width:60px;height:30px;background:green;color:red;font-size:12px;text-indent:-20px;">IE中显示</a>
</div>

在谷歌中显示的是我们所预期的那样,在IE6中则这个背景都往左移动了。(好像在IE7中也存在这个BUG,不过还不确认,因为我的IETESTER打不开IE7)
百度搜索了一下,果然也有人遇到我这样的情况。同时也找了一下解决的方法,目前找到的方法有以下几种:
1、将a标签的inline-block换成block;(如果有多个a标签似乎就不管用了)
2、在a标签前面加一个&nbsp; ;(个人觉得这个方法有点瑕疵)
3、给a标签加上line-height:200px;overflow:hidden; (使用line-height后就不需要使用text-indent)
4、给a标签加上absolute(此方法也不需要text-indent)
自己也找到了一个解决的方法,给a标签加上float就可以了。
Tag:
网友评论

<