Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[html] 第14天 为什么HTML5只需要写<!DOCTYPE HTML>就可以? #42

Open
haizhilin2013 opened this issue Apr 29, 2019 · 13 comments
Open
Labels
html html

Comments

@haizhilin2013
Copy link
Collaborator

haizhilin2013 commented Apr 29, 2019

第14天 为什么HTML5只需要写<!DOCTYPE HTML>就可以?

@haizhilin2013 haizhilin2013 added the html html label Apr 29, 2019
@hbl045
Copy link

hbl045 commented May 5, 2019

这个HTML5新标,H4之前还是要写很长一串的文本申明,还分有传统模式,严格模式

@tsl1127
Copy link

tsl1127 commented May 7, 2019

DOCTYPE是document type的缩写,是HTML中用来区分标准模式和怪异模式的声明,用来告知浏览器用标准模式渲染页面,在页面开始写即可
怪异模式兼容老页面

@Konata9
Copy link

Konata9 commented Jul 27, 2019

因为 HTML5 与 HTML4 基于的基准不同。HTML4 基于 SGML 因此需要除了 DOCTYPE 外还需要引入 DTD 来告诉浏览器用什么标准进行渲染。DTD 还分为标准模式、严格模式。如果什么都不写,就完全让浏览器自我发挥,会变成怪异模式。

HTML5 不基于 SGML,因此后面就不要跟 DTD,但是需要 DOCTYPE 来规范浏览器的渲染行为。

注:SGML 是通用标记语言的集合。其中有 HTML、XML,因此需要用 DTD 来指定使用那种规范。

@0x3c
Copy link

0x3c commented Oct 31, 2019

HTML5 之前基于 SGML, SGML 需要指定 DTD 解析文档, 可通过<!DOCTYPE>指定要使用的 DTD, 若不写则会进入怪异模式; HTML5 不基于 SGML, 不需要指明 DTD, 其<!DOCTYPE>只有一种: <!DOCTYPE html>.

@giggleCYT
Copy link

因为HTML5不再基于SGML,不需要对DTD进行引用,但是需要 DOCTYPE 来规范浏览器的行为

@MrZ2019
Copy link

MrZ2019 commented Sep 10, 2020

HTML5 之前基于 SGML, SGML 需要指定 DTD 解析文档, 可通过<!DOCTYPE>指定要使用的 DTD, 若不写则会进入怪异模式; HTML5 不基于 SGML, 不需要指明 DTD, 其<!DOCTYPE>只有一种: .

@xiezhenghua123
Copy link

规定标准模式
不写的话就按照混杂模式执行代码(兼容旧版浏览器)

@amikly
Copy link

amikly commented Nov 2, 2021

DOCTYPE

  • DOCTYPE(Document Type Declaration)用于声明文档类型和DTD(Document Type Definition)规范,

    确保不同浏览器以相同的方式解析文档,以及执行相同的渲染模式。

  • DTD就是文档类型定义,一种标记符的语法规则,保证SGML和XML文档格式的合法性。

因为HTML5不再基于SGML,所以不需要引用DTD,只需要一个根元素(HTML)即可

@yxllovewq
Copy link

总结:
DOCTYPE:不是html标签,必须放置于html文件首行,告诉浏览器以何种方式解析html文件。默认以怪异模式渲染。
html5以前,DOCTYPE基于SGML,需要显式申明DTD,html5后,不再基于SGML,不需要显式声明DTD。

@WangXi01
Copy link

doctype是document type的意思,html5之前,基于sgml,除了doctype外还需要告诉浏览器是标准模式还是怪异模式,但是html5就不需要这个了,所以只需要引入

@Iambecauseyouare
Copy link

因为HTML5不基于SGML,HTML4.01中的doctype需要对DTD进行引用,因为HTML4.01基于SGML,因此HTML5不需要对DTD进行引用,但是需要doctype来规范浏览器的行为

@mika-lby
Copy link

HTML5不基于SGML, 因此不需要对DTD进行引用,但是需要doctype 来规范浏览器的行为(让浏览器按照它们应该的方式来运行) ;而HTML4.01 基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。

@lili-0923
Copy link

因为 HTML5 与 HTML4 基于的基准不同。

HTML4 基于 SGML 因此需要除了 DOCTYPE 外还需要引入 DTD 来告诉浏览器用什么标准进行渲染。DTD 还分为标准模式、严格模式。如果什么都不写,就完全让浏览器自我发挥,会变成怪异模式。

HTML5 不基于 SGML,因此后面就不要跟 DTD,但是需要 DOCTYPE 来规范浏览器的渲染行为。 注:SGML 是通用标记语言的集合。其中有 HTML、XML,因此需要用 DTD 来指定使用那种规范。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
html html
Projects
None yet
Development

No branches or pull requests