天閱讀了 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標準支援的不完善。
上面的頁面主要體現的是ie對標準的理解有問題,background-attachment屬性的fixed 的意思是從View point 開始計算(一般是整個頁面的左上方),而IE 理解成了容器的左上方。可能這樣想會更容易理解,不是嗎?正如剛才說的那個box modal的問題,或許ms 的看法是更易於理解的(事實上,由於IE的荼毒,本人在使用Firefox以前也一直是那麼看待box modal 的)。但是,標準就是標準,需要大家都來執行才有用。沒有人希望再回到瀏覽器大戰時代那種瀏覽器廠商各自為政、設計者疲於奔命的日子。微軟作為w3c會員之一,也應該明白的。IE 6是好兆頭。希望接下來的瀏覽器加強對標準的支援。