编码也会引起页面显示效果差异
刚完成的项目,在IETest下用ie6、7快速的切换查看,发现好多地方在动,虽然没有错位,但是依然看着很不爽,开工找原因。
翻看了四大门户(新浪、搜狐、网易、腾讯)、淘宝、人人网的源文件,似乎新浪做的最到位,在ie6、7下基本页面一模一样,最差的是淘宝和人人网。页面位置偏移的厉害。
本来我以为是line-height引起的。用firebug查看局部源文件。发现这不是主要原因,而是页面编码,四大门户都用的gb2312,淘宝用的gbk,人人网用的utf-8,我做的项目也是用的Utf-8。
然后我以gb2312和utf-8为基点做了各种实验,总结出了以下几点问题:
1、编码为UTF-8时, IE7下的a链接和下划线太近,line-height解析不同(图文混排差别更明显)。
2、编码为gb2312时,a标签显示相同,在纯文本的情况下,line-height:解析相同。图文混排时,ie6的line-height:失效。
解决办法:编码尽量使用gb2312,文本垂直居中时,不使用line-height,定义pdding-top:?px;(兼容纯文本和图文混排)
可能由于项目决定编码无法更改,那么这些问题可能就无法避免,如果谁有好的办法,希望能跟我联系,共同讨论。