Below you will find pages that utilize the taxonomy term “Iebug”
September 2, 2010
解决IE6从Nginx服务器下载图片不Cache的Bug
"\u003cp\u003e其实这个Bug是由分两种情况的:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1.和Nginx无关,是针对CSS背景图片的。\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e一般用户不会碰到,更多的时候是开发者将自己的IE的缓存策略从默认的”自动”改为“每次访问都查询”才发生 的。特点是鼠标一旦浮动到有背景图片的地方,IE会不顾已经缓存的图片,自行去服务器再次获取图片,造成图片短暂消失。这个问题比较简单,可以通过以下脚 本解决。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e1\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e2. 但是实际上更常见的原因是Nginx上打开了Gzip压缩功能。\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e这个是IE6 的著名Bug,早在2002年就被人详细讨论过了,在IE7中有所改进,但微软永远也不会去修复IE6了。\u003c/p\u003e\n\u003cp\u003e根本原因是Nginx对于启用了Gzip的http上下文,即使你在之前的配置文件里声明过 gzip_disable “MSIE [1-6].”,Nginx不再对IE6用Gzip压缩了,但是送出的http报头却仍然采用了和Gzip压缩数据包相匹配的Vary: Accept-Encoding。IE6不认识这个报头,IE6对除了Vary: User-Agent的报头外,都不查询缓存,直接去服务器申请。更绝得是,不是使用查询文件是否更新,而是强行要求一份完整文 …\u003c/p\u003e"
September 1, 2010
float margin-left 浮动对象双倍距离
"\u003cp\u003e出现问题是:使用 float: left; 后,在IE显示margin-left:1px;就变成2px的距离。\nIE Bug 的解决方法:\n加一个 display: inline; 就OK了\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#box1{\n\tfloat: left;\n\tbackground: #F2F2F2;\n\twidth: 300px;\n\theight: 200px;\n\tmargin-left: 50px;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#box1{\n\tfloat: left;\n\tbackground: #F2F2F2;\n\twidth: 300px;\n\theight: 200px;\n\tmargin-left: 50px;\n\tdisplay: inline;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/blockquote\u003e\n\u003cp\u003emargin在IE6下被解释为双倍距离,出现了Margin与float一起用时,在IE6下,其Margin属性会被解释会双倍的距离,margin产生双倍距离其解决兼容问题的两种方法:\u003c/p\u003e\n\u003cp\u003e1、给当前层增加display: inline;属性。\u003c/p\u003e\n\u003cp\u003e2、取消浮动:Float。\u003c/p\u003e\n\u003cp\u003e熟悉规则的人知道浮动元素自动设置为”block”元素,而不管他们之前是什么。这说明浮动元素上的{display: …\u003c/p\u003e"