天阅读了 msdn 上的 Internet Explorer 6 中的 CSS 增强功能 一文,感觉微软的确是为web 标准做了比较大的努力。按《网站重构》(Designing with web standards) 的说法,Internet Explorer 6 终于算是一个比较现代的浏览器了。
相对于它之前的版本,毋庸置疑,它的确是改进了不少,而且对 W3C标准支持得更好。比如,IE 6能够通过 标签进行“开关转换”(关于DOCTYPE开关,请参阅上文提到的文章)而对web 标准进行支持. 这样可以一定程度地上防止了原来IE 5当中臭名昭著的 Box modal Bug. 但是,这对于我们使用 css box modal hack造成了一些不方便.
原来我都是使用!important 来把height & width 进行隐藏的,但是因为IE 6能够支持web standard, 导致了它反而得到了错误的结果。(很抱歉,IE 6仍然不支持!important)。所以还是用回了刚才提到的css discuss里头的hack.
这里涉及到了浏览器bug的处理问题,其实我自己也不是很熟悉,等有空再写咯
尽管IE 6声称对CSS进行了增强,而且还大言不惭地说完整支持css 1标准,但是事实上千万不要相信,下面的完全使用css 1的经典测试页面显示了IE 6对CSS 1标准支持的不完善。http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html
上面的页面主要体现的是ie对标准的理解有问题,background-attachment属性的fixed 的意思是从View point 开始计算(一般是整个页面的左上角),而IE 理解成了容器的左上角。可能这样想会更容易理解,不是吗?正如刚才说的那个box modal的问题,或许ms 的看法是更易于理解的(事实上,由于IE的荼毒,本人在使用Firefox以前也一直是那么看待box modal 的)。但是,标准就是标准,需要大家都来执行才有用。没有人希望再回到浏览器大战时代那种浏览器厂商各自为政、设计者疲于奔命的日子。微软作为w3c会员之一,也应该明白的。IE 6是好兆头。希望接下来的浏览器加强对标准的支持。