IE6中a标签同时使用inline-block与text-indent时出现的
网站建设 2023-01-28 20:49www.1681989.com免费网站
IE6中le-block与text-dent使用时没想到也存在BUG。以前写代码做按钮时喜欢用a标签再给个背景,因为图片上的字体好看所以直接就用了图片,a标签也没有加文本。,最近考虑到SEO优化,需要给a标签加上文本,第一想到的方法就是给a标签加上文本后使用text-dent将文字“隐藏”掉。在谷歌中显示完好,放到IE6中测试,却显示的很诡异。如下图
代码如下
<div style="marg:0 auto;width:300px;border:1px #c solid;background:#f8f8f8;">
<a href="#" style="display:le-block;width:60px;height:30px;background:green;color:red;font-size:12px;text-dent:-20px;">IE中显示</a>
</div>
在谷歌中显示的是我们所预期的那样,在IE6中则这个背景都往左移动了。(好像在IE7中也存在这个BUG,不过还不确认,因为我的IETESTER打不开IE7)
百度搜索了一下,果然也有人遇到我这样的情况。也找了一下解决的方法,目前找到的方法有以下几种
1、将a标签的le-block换成block;(如果有多个a标签似乎就不管用了)
2、在a标签前面加一个 ;(个人觉得这个方法有点瑕疵)
3、给a标签加上le-height:200px;overflow:hidden; (使用le-height后就不需要使用text-dent)
4、给a标签加上absolute(此方法也不需要text-dent)
自己也找到了一个解决的方法,给a标签加上float就可以了。
text-dent在IE6/IE7中的位置偏移BUG
text-dent一般用来实现文字缩进,不过更多的时候是用来实现文字隐藏。发现在IE6/IE7中,text-dent会导致le- block元素出现向左(text-dent的值为负时)或向右(text-dent值为正时)的偏移。
le-block元素设置text-dent在IE6/IE7中不正常,在IE8中正常。造成这种情况的原因应该是IE6/IE7并没有真正实现le-block, 而是通过设置display:le-block触发了IE的layout, 从而使内联元素拥有了le-block属性的表症。
解决方法
.element {display:le-block !important; display:block;}
因为ie6/ie7不支持 important 属性,所以在 ie6/ie7 下元素会显示为一个 block 级元素,而在支持 important 的浏览器(firefox, safari)下元素将显示为一个 le-block 级元素。
代码如下
复制代码
代码如下:<div style="marg:0 auto;width:300px;border:1px #c solid;background:#f8f8f8;">
<a href="#" style="display:le-block;width:60px;height:30px;background:green;color:red;font-size:12px;text-dent:-20px;">IE中显示</a>
</div>
在谷歌中显示的是我们所预期的那样,在IE6中则这个背景都往左移动了。(好像在IE7中也存在这个BUG,不过还不确认,因为我的IETESTER打不开IE7)
百度搜索了一下,果然也有人遇到我这样的情况。也找了一下解决的方法,目前找到的方法有以下几种
1、将a标签的le-block换成block;(如果有多个a标签似乎就不管用了)
2、在a标签前面加一个 ;(个人觉得这个方法有点瑕疵)
3、给a标签加上le-height:200px;overflow:hidden; (使用le-height后就不需要使用text-dent)
4、给a标签加上absolute(此方法也不需要text-dent)
自己也找到了一个解决的方法,给a标签加上float就可以了。
text-dent在IE6/IE7中的位置偏移BUG
text-dent一般用来实现文字缩进,不过更多的时候是用来实现文字隐藏。发现在IE6/IE7中,text-dent会导致le- block元素出现向左(text-dent的值为负时)或向右(text-dent值为正时)的偏移。
le-block元素设置text-dent在IE6/IE7中不正常,在IE8中正常。造成这种情况的原因应该是IE6/IE7并没有真正实现le-block, 而是通过设置display:le-block触发了IE的layout, 从而使内联元素拥有了le-block属性的表症。
解决方法
.element {display:le-block !important; display:block;}
因为ie6/ie7不支持 important 属性,所以在 ie6/ie7 下元素会显示为一个 block 级元素,而在支持 important 的浏览器(firefox, safari)下元素将显示为一个 le-block 级元素。
网站设计
- 静宁会SEO的网站建设公司:全面提升您的网络影
- 提升在线业务的关键:选择最佳的丽水网站建设
- 浙江网站优化发展潜力如何
- 井研专业的网站建设公司:打造您的在线品牌
- 灵山SEO网站建设公司:提升您的在线业务表现
- 蒙城网站建设优化公司:提升您网站表现的理想
- 阳谷企业网站优化:提升线上业务力的关键
- 樟树专业的网站建设公司:打造您在线业务的坚
- 通河百度SEO排名的策略与技巧
- 重庆百度快照排名如何进行精准的客户引流
- 重庆百度快照排名
- 常宁便宜的建站公司:助您轻松打造在线业务
- 巫溪百度网站优化:提升网站曝光率与流量的关
- 湖北整站优化怎么做才能放大客户需求
- 闸北网站建设多少钱?全面解析与预算规划
- 辽宁企业网站优化怎么做电话营销