浏览器之家


IE8背景图片错位和不显示的问题解决方法

最近新设计了一个宣传产品的网页,当觉得一切都没有问题的时候,然后再IE8.0中打开这个网页测试的时候,返现网页的整个背景图片都错位1px左右,虽然是一个很小的错误,但是对于一个WEB开发者来说是无法容忍的事情。可奇怪的是这个网页在IE6IE7Firefox这些主流浏览器下却能够很正常的显示。更奇怪的是,我用IETester测试工具在IE8模式下测试又没有错位的现象,彻底被IE8浏览器搞糊涂了。虽然IE8还包含有很多的小问题,但是相比IE6和IE7还是非常优秀的。

以下是我在制作网页时遇到的一个问题:

目前,随着IE8的发布,网页兼容问题有面临一次挑战,当我们辛辛苦苦制作出的网页,在IE6、IE7下显示正常,但却在IE8下显示不正常了,可能你会说,添加一段代码,可以行的,但却有时会出现意外,比如当你为子容器添加了float后,你有为父容器添加了一个背景图片,在IE6、IE7下父容器的背景图片显示很正常,但在IE8下,父容器的背景图片不见了,怎么回事?

大家知道,现在的IE8越来越接近WEB标准了,所以对于不规范的写法他会不正常的显示,或变形、或移位、或……。

我们发现在IE8下不能显示背景图片的原因是因为子容器使用了float浮动而没有真正闭合,这也是div无法自适应高度的一个原因。如果父div没有设float而其子div却设了float的话,父div无法包住整个子DIV,这种情况一般出现在一个父DIV下包含多个子DIV。

解决办法:给父DIV也设上float,即可解决父容器下背景图片显示问题。

和其他浏览器相比,IE系列在HTML标准方面确实表现的糟糕透了,虽然微软推出了最新版的IE8,并没有给WEB开发者带来多大的惊喜,但是为了满足众多被因垄断而使用系统预装IE的广大用户,在设计网页的时候IE8也是我们不得不重点兼容的对象。希望在今年微软即将推出的IE9浏览器能够带我们更多的惊喜。

评论

没安装畅言模块