IE css hack使用的特殊符號,如「*」、「_」、「\9」,要建立在IE6、IE7、IE8的表頭都有放<!DOCTYPE html PUBLIC… 宣告的情況下才有用。如果沒放,則IE6-IE8讀CSS的時候「*」、「_」、「\9」(原來拿來作為IE版本過濾的前置符號)在的全部的IE版本都會讀到。
等同於如果宣告拿掉,就沒辦法針對IE6、IE7、IE8做特殊修正,不過當宣告拿掉的時候,IE6~IE8會全部變得跟IE6一樣爛…
所以在製作上反而只要區分IE跟firefox,而不用管IE的版本。不過其實宣告拿掉是比較不好就是。會遇到這個是因為之前有案子被要求把宣告拿掉發現的。