清风细雨楼 Design By www.eepep.com
今天在做项目使用right时,老是碰到在IE6中显示总是比自己定义的right要小,没时间想那么多迫不得已就使用了hack方法解决,于是晚上闲余时特意测试了一下,最后终于找到原因之所在了:IE6中如果使用absolute标签的父级DIV(此DIV使用了relative)不定义宽度,则该标签的right定位会出问题。好像挺难看懂这话的意思,还是看看下面的例子吧,先看下面代码:

复制代码代码如下:
<div style="background:red;height:50px;width:300px;padding:10px;">
<div style="background:green;position:relative;">
<a href="#" style="position:absolute;right:20px;top:0;background:blue;">测试</a>
</div>
</div>

代码显示效果如下图:
IE6中DIV使用了relative不定义宽度导致right定位误差 
由图可知,谷歌浏览器显示是我们所预期的那样,而IE6有点诡异。IE6中蓝色距离红色右边有20px,而谷歌浏览器中有30px,经过不断的测试发现在IE6中,上面的代码中a标签中的right是相对于最外面的那个div,而非父级div。同时我又测试了一下left,发现left显示的是正常的。

目前的只知道有两种解决方法
1、就是用hack方法,将实际的right值加上最外面DIV的内边距(_right:20+10 px);
2、定义a标签的父级div的宽度即可。
清风细雨楼 Design By www.eepep.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
清风细雨楼 Design By www.eepep.com