在学习DIV+CSS中发现,很多教程都说为了兼容IE6,需要加上一些特定的语句来使IE6显示正常,其实我觉得不需要加,一个doctype声明不就可以了吗?我这种说法对吗?
不对。DTD是最重要且最容易被忽视的标签,具体还要看你使用什么DTD,如果使用HTML 4.01 loose版本的,那么IE仍然是quirks mode。推荐使用xhtml 1.0 transition这一版,但是不要抱有太大希望,在某些属性和JS上,还有有区别的,比如:IE6不识别min-X,max-X系列属性,IE6还不会识别position:fixed,JS上的clientHeight,scrollTop都是在有没有DTD表现不一致的,过多的与标准不统一已经导致了IE6的衰落,况且微软早已宣布以后将不会支持IE6了,IE6的更新也早就停止了。很多东西不是加上DTD就能统一的,所以在针对IE6的时候就需要做多余的CSS hack。例如:你做一个浮层,效果类似于position:fixed,或者你在IE6下的页面中加载一个flash,然后刷新这个页面,尝试用不同的IE系列的浏览器去刷新,看看有什问题。当然,你做页面的时候就不是单纯的页面,而有的时候,还会做一些不使用DTD的页面(如果要让这种页面兼容一下各个浏览器,这个时候你才会有深刻体会的)。还有个问题是有些问题是在IE6以后修正了,但是IE6却存在的,常见的就是2倍margin问题。