代码之家  ›  专栏  ›  技术社区  ›  GenEric35

我今天应该瞄准什么doctype?

  •  11
  • GenEric35  · 技术社区  · 14 年前

    我正在重构中的.NET Web应用程序

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
    

    现在的方法只是瞄准明星,选择最新的doctype,因为它是最新的,我想做一个更明智的选择,针对一个特定的doctype,并且有充分的理由。

    有类似的问题存在,但答案现在可能过时了。

    标准和怪癖模式之间的区别、优点、缺点是什么?我可能会遇到一些不同类型的怪癖?

    有人告诉我,XHTML doctype比集成Ajax更可取,因为upadtepanel将其序列化,因此需要XHTML do类型,这在多大程度上是正确的?

    对于浏览器兼容性,浏览器在doctype方面的发展方向是什么,是否有一个共同的线程,或者它们是不同的?

    5 回复  |  直到 14 年前
        1
  •  15
  •   Yann Ramin    14 年前

    HTML5 doctype,即

    <!DOCTYPE html>
    

    XHTML作为一种标准在很大程度上是死的,并且在大多数情况下从来没有得到正确的实现。

        2
  •  4
  •   FelipeAls    14 年前

    任何DOCTYPE:

    • HTML 4.01或XHTML 1.0
    • 严格或过渡

    作为HTML(而不是HTML+XML)应该可以。没有比这更好的doctype更好的了,你只需要选择一个满足你需要的类型,然后遵守它的规则。

    • 避免框架集,但如果必须这样做,请使用title属性向屏幕阅读器用户描述每个框架的角色(与iframe btw相同)。
    • 怪癖模式(没有doctype)是一个pita,不惜一切代价避免它。8年前还可以。
    • 没有XML序言,除非您提供HTML+XML(祝您好运!如果你喜欢不需要的复杂事物,那是你的选择)
    • 如果强制使用严格模式下禁止的属性( target="_blank" 例如)而不是使用过渡模式:这就是它被创建的原因!请向您的用户指出链接将在新页面中打开,无论是在链接的文本中还是在其标题中。从可访问性的角度来看,这一点很重要。

    HTML 5 下一个大问题是,我们正在等待它,但只要它不能在每个浏览器中工作(我的意思是没有JS),就不建议在“严肃”的公共站点中使用它。它甚至是汇票吗?如果它的整个部分在几个月内被重写怎么办?
    我的网络代理使用它作为它的网站,但我们不会很快在客户网站上使用它:这太快了。

    旁白 :我经常看到这样的短语 HTML5和CSS3中的现代网站 “暗示 CSS3 是为HTML 5制作的。CSS3与HTML5无关,只要它在旧浏览器上有良好的性能,它就可以被使用。
    你可以用css2.1或者html4.01设计HTML5,过渡到最新的css3动画,这些动画只在WebKit夜曲中工作,没问题。

        3
  •  3
  •   cHao Hammerite    14 年前

    新功能是HTML5。

    <!DOCTYPE html> 是用来指定它的。就是这样。没有DTD名称、URL或其他名称。

    如果您使用的是像.NET这样的XML,那么您可能需要使用XHTML。但不要因为任何其他原因而这样做;XHTML作为一种标准从未真正流行过,或者至少它几乎从未被正确使用过。

        4
  •  1
  •   STW    14 年前

    无论您选择什么,请确保您的mime类型与doctype兼容。

    浏览器将使用mime类型(HTTP头ContentType)来确定如何处理页面。例如:xhtml 1.1 strict的doctype用作contenttype Text\HTML 被分析为HTML。

    doctype很重要,但如果使用了错误的contenttype,则在很大程度上不相关。

        5
  •  1
  •   lucideer    14 年前

    浏览器实际上从未使用doctype来确定文档的标记语言(它们使用的是HTTP内容类型),因此您选择的doctype从来就不是非常相关的-只要您使用 某种描述的有效doctype . 无论你选择哪一个,都取决于你自己。

    如果你在写HTML, <!DOCTYPE html> 是最短的类型,并将所有浏览器置于标准模式(这是您想要的)。

    如果您正在编写XHTML, <!文档类型HTML> 也是完全合法的(XHTML实际上根本不需要doctype,因为它完全依赖于HTTP内容类型,但是为了可移植性而放入doctype并没有任何危害。

    不要使用 <!doctype html> -虽然这在技术上是有效的HTML,但它是无效的XHTML,因此如果您尝试将页面解析为XML,它将中断。


    稍微有点OT旁注:这里的一些人评论说XHTML是一个“死”的标准——这是错误的。XHTML已集成到即将发布的HTML5规范中。该规范的标题为“ HTML5:用于HTML和 XHTML

    见: