按我原来的想法,html文件的doctype干脆选择xhtml 1.1。这样我的文档就是最严格了,并且保持了非常的“向前”兼容性,只要以后浏览器适应该标准,那么文档就可以这样那样按规范来做了。可是用了一段时间后却有许多的问题,也惯不得网也有人推荐不要使用xhtml! 看来我得是不是要把我的html文档doctype要改成XHTML 1.0 Transitional !这是一种后退呀!
看看碰到的问题:
-
如果使用xhtml1.1 或xhtml 1.0 strict 那么就不能使用target来打开新页面,或者需要加上target模块的DTD,不过这个非常好办,只要加上相应的模块就行,详见:http://www.ee-studio.com/DTD/xhtml11-target.dtd 这个DTD就是一个可以打开新页面的xhtml1.1DTD,另外还有:http://www.ee-studio.com/DTD/xhtml11-events.dtd 和http://www.ee-studio.com/DTD/xhtml11-applet.dtd 这样的xhtml1.1的DTD。
- 严格模式所碰到的显示问题,这个问题主要集中在firefox (mozilla),当使用严格模式的DTD时,表格里的单元格里的图片就会在下面留下一个明显的空档。详见:关于firefox表格图片的神秘空隙。因为firefox会以“完全标准”的方式显示该文档。而ie6 和 ie 7都不会出现这个问题,因为ie的标准模式相当于firefox的“几乎标准模式”。要处理这个问题,就象文档里说的,可以选用transitional的doctype
- 还有,又碰到一个问题就是lang和xml:lang属性的问题,W3C建议我们为每个需标注语言的元素都标上lang:xml 或lang 属性,但是xhtml1.1 已经不要lang属性了,这个属性在xhtml1.0 和以前的版本有效。而到xhtml1.1 只直接使用xml:lang 属性了!就是说我如果使用的是xhtml1.1 就没必要使用lang属性了。但是,我的文档为了处理方便,还得保留lang属性或使用lang 属性,这就根xhtml1.1茅盾了!还有ie并不支持xml:lang属性,但支持lang属性。
也怪不得现在使用xhtml1.1的页面很少,就象dreamweaver,其默认的xhtml doctype还是xhtml1.0 transitional. 看来我还是退回去一步,使用transitional了!
eureka 的blog | printer friendly version