自从IE8正式发布了之后我也更新了,其实我是用Firefox的,IE只是用来上BTChina下种子而已。今天忽然发现之前发的有图片的页面在IE8上显示不出图片,看了源码,里面有图片的链接,是CSS的原因。这些图片是用Picasa Image Express这个插件添加的,看来原因就是这个插件了。
在插件目录下面有两个CSS文件:
1 | picasa-image-express.css |
和
1 | picasa-image-express-IE.css |
后面这个是专门给IE8定义的,但是浏览器却没有加载。再打开
1 | picasa-image-express.php |
找到
1 | [if lt ie 8] |
替换成
1 | [if IE 8] |
这样IE8就会加载那个专门定义的CSS了,但是也只是勉强显示,图片全部都竖排了。这里IE8之所以没有加载那个CSS,我觉得可能是版本向量的问题,但是具体也不清楚。
版本向量是指的内部版本号,它存储在浏览器启动时读取的注册表项中。
其实还有另外一种解决方法,因为我测试了一下发现只有IE8才会显示不正常,IE6完全正常,IE7也是显示成竖排。那直接让IE8工作在兼容模式就行了。在模板的header中添加
1 | <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" / > |
这样当IE8读取到页面的时候就会自动使用兼容模式来显示网页。
如何查看 IE8 的工作模式呢,在 IEBlog 的留言中有解答,执行
1 | javascript:alert(document.documentMode); |
,返回 5,说明工作在 IE5 Quirks 模式下;返回 7,说明工作在 IE7 Strict 模式下(也就是兼容模式);返回 8,说明工作在 IE8 Standards 模式下。
这样修改以后显示得还是没有按照我的想法来,应该怎么去修改CSS啊?
有没有类似ie7plus的增强工具能给IE8装上?