今天看论坛有人说我的主题不支持IE6,在IE6里有错位现象,因为我已经不用IE6多年,所以修改主题的时候也没去测试。但是在伟大的天朝,IE6的用户群还是非常庞大的,所以要做好一个网站还是要照顾到大多数的访客,于是我决定对主题进行一下修改。
打开虚拟机,装上久违的XP。用IE6打开我的网站,果然发现错位现象严重,而且png透明度全部失效。
IE6不支持png的alpha透明度是众所周知的了,解决的办法也就是那几种:
一、用css滤镜,这种方法比较麻烦,要给所有用到png图片的地方都加滤镜,工作量较大。
二、加载一个js去处理png,这种方法有个缺点就是不支持css背景的repeat属性,所以也被我放弃了。
最后我还是决定放弃png格式,把所有png格式的图片转换成了gif格式,gif的缺点就是只支持最高256色,所以有些图片的渐变会出现色块,两全其美是做不到了,只好这样了~
接下来是修改错位的问题,问过股沟和百度之后发现原来这是IE6的一个bug……
<div>测试测试<span>右浮动</span></div>
如上面所示的HTML代码,当给span加上float:right的css属性的时候就会出现换行右浮动的现象,而在IE7、8中就没有换行这个问题。出现这个问题的原因是因为span前面出现了文字,所以这时再给span加上float属性时就会失效。
解决方法:给div加上position:relative属性,然后给span加上position:absolute和right:0属性,通过相对和绝对定位的方法使span元素处于右侧。
通过的上面的方法,成功解决了本站侧边栏在IE6下错位的问题,我又在IE7、FireFox、Chrome和Safari下进行了测试,没有发现错位的问题,现在本站的主题已经良好支持了上述浏览器,Opera我没有测试,毕竟用户群太少= =~
总结:现在设计一个好网站真是越来越难了,要做到兼容各种浏览器还真是相当困难的,IE6就不说了,它太古老,IE7、IE8的兼容性也存在问题,就连现在热门的Chrome也存在字体小于12px无法显示的bug,所以要做到面面俱到还是要下点功夫的。幸亏本人不是干这个的= =~只是业余爱好~。虽然我的主题支持了IE6,但是我本人并不推荐使用IE6作为默认浏览器,因为它的Bug实在太多太多,正如标题所示,希望大家都能升级自己的浏览器到最新版本,彻底杀死IE6,也希望各大浏览器厂商不要再勾心斗角~= =~都共同遵循w3c标准,为设计者设计出更好的网页打下基础~

