HTML5为什么不直接省略标准类型声明!Doctype?
时间:2021-07-01 10:21:17
帮助过:54人阅读
一向注重简洁的 HTML5 为什么没有将这里省去?
反正每次都是输入的都是
回复内容:
看见 HTML5 这词儿就头疼
业内搞的这玩意指代太宽泛了
不知道你说的是广义还是狭义上的
也就范范说下得了
毕竟是偶拉屎时候爪机随便答答的么
doctype 的存在只是历史原因
从 HTML 到 XHTML 过度时候
需要有个鸟玩意来给UA标示出这玩意到底是个毛
HTML 就没
XHTML 根据 pubicID 和 systemID 来让UA区分是否需要UA按严格XHTML方式处理
但是UA才不鸟
它只根据这玩意区分怎么渲染细节
也就是所谓的
标准渲染
近乎标准渲染
怪异渲染
三种
到HTML5时候
XHTML 基本没人鸟了
doctype 其实可以去
但是UA认这个
得兼容HTML(4)啊
去了HTML5渲染不就逆历史了
whatwg里各大厂商一合计
发现哈
我靠巧了
UA实现判断doctype过程中
最后兜底的都是publicID 和 systemID没有
光剩个 doctype html 的时候
大家都是把这个归位给标准渲染模式
得咧
那就 留个光杆 doctype 给HTML5
完美兼容以前了就
喏
现实就这样了
因为浏览器的标准其实有好多套,w3c是公认的标准,某些浏览器还弄了一套自己的标准,你要不写文档类型,浏览器会把你玩坏的!
浏览器其实只看!DOCTYPE
至于这后面都写什么它才不管,主体按照w3c的标准来,但是在细节上各个浏览器的实现还是略有不同,而你的语法就算是非标准语法,也会被自动纠正成标准语法
你不写,浏览器怎么知道你是html5,,,
要省略你依然可以省略,但不同的是,省略之后,浏览器对页面的渲染或许各有各的看法。
就像给他个变量名,后面是他的值,浏览器只要检测一下变量名,就能知道是什么文档类型
推荐阅读《HTML5设计原理》
如果当初纯文本也约定一个,那么今天或许就不会出现那么多乱码需要处理了。
所以虽然约定大于配置,但是适当的配置可以避免太多麻烦。
现在HTML5很有自信一统天下,十年后二十年后呢?肯定还会有更新更牛的技术。