IE6显示1px高度的bug

在IE6下运行以下代码测试:

提示:你可以先修改部分代码再运行。

得到结果是2,在其他浏览器下得到的都是预期的1,经过测试发现只要删除背景色属性就正常
这实在是个匪夷所思的问题

最后经新软群中hyne大大提醒,在div中加入一个 就能解决(注:直接空格不行),即:

  1. <div id="test" style="font-size: 1px; height: 1px; line-height: 1px; margin: 0 1px;background: #333">
  2. &nbsp;
  3. </div>

本来以为自己已经把IE6的各种问题触碰的差不多了,竟然还有新的……

标签:, , ,

相关日志

记录一个歪招

事情是这样的,一个很复杂的页面,放在特殊的程序中使用,无法使用firebug等工具进行调试
结果有一块本应是可点击的区域死活不知道被什么东西挡住点击不了
测试发现将所处容器设置一个背景色就能点击了,大约是IE透明背景的bug

实在懒得深究了,最后的解决办法是:
用Photoshop做了个1px*1px的透明小图片,并将其设为背景,于是OK了

标签:, ,

相关日志

IE6下CSS背景图片的Bug

最近碰到的问题,比如有一div,设置了背景图,然后只要在js中对此div的css做出任何更改就会重新请求背景图片,表现为页面闪烁
此问题仅在IE6下出现(更低版本未测试),原因是IE6在默认情况下不缓存背景图片

解决办法一,通过css:

html {
    
filter: expression(document.execCommand("BackgroundImageCache", false, true));
}

缺点:可能会使整个页面的加载速度变慢

解决办法二,使用javascript:

<script type='text/javascript'>
document.execCommand(BackgroundImageCache”, false, true);
<
/script>

缺点:如果在firefox等浏览器下执行会出错。
所以需要判断是否为IE浏览器,使用jQuery提供的判断方法如下:

<script type='text/javascript'>
if ($.browser.msie) {
    
document.execCommand(BackgroundImageCache”, false, true);
}
<
/script>
标签:, , , , , ,

相关日志

京ICP备05059555号

收藏 & 分享

Powered by 17fav.com