目前我们有以下DOC类型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
有一些举措可以改为以下DOC类型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 TRANSITIONAL//EN" >
该论点是针对跨浏览器兼容性实施严格的W3C标准,我的问题是,如果我们采用新的DOC类型,
在不将仍然在4.0.1 HTML定义中的部分代码更改为XHTML 1.0定义的情况下,它是否有用?
将更改为新的DOC类型定义导致我现有的JSP / HTML中断(假设那些完全符合4.0.1但未针对1.0 XHTML进行测试的那些)?
答案 0 :(得分:1)
我假设你实际上意味着以下作为新的doctype:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
从功能上讲,您的JSP / HTML不会中断。现代的webbrowser足够宽容,它会在需要时关闭打开的标签,它会接受未指定的属性。同时你应该考虑修复它们,以便它尽可能地针对新的doctype进行验证。
然而,CSS中指定的look'n'feel可能会出现主要问题。您的旧文档类型会在quirksmode中推送浏览器,其中显示MSIE中非常严重的box model bug。有了这个错误,MSIE会将元素的padding
和border
记入元素的width
。因此,如果您更改此doctype,您将只看到MSIE中的更改。
如果您的网站是根据网络标准在普通网络浏览器上设计的(即,它是专为Firefox,Chrome,Safari等设计的),那么您无需担心。它只会像MSIE那样看起来像是有意的,这只是一个优势。
但如果您的网站是为MSIE设计的,因此忽略了Web标准,那么您将不得不在CSS中进行大量更改(主要是宽度/填充/边框/边距),以便在MSIE中看起来与intented。您还将获得额外的优势,即它现在可以在普通浏览器上正常显示。
关于doctype选择,这将是主观的,但如果你需要我的意见,那么请阅读以下答案: