上篇文章介绍了 注释标签,我个人感觉很容易理解,在日常编码中,大多数编辑器都有注释标签的快捷键,如sublime或VS code里在html代码里,选中想要注释掉的代码后,直接按ctrl+/即可。几乎不用手动输入了。还是很方便的。
![2af7741b1a69b9d7237c307887e6d9c6.png](https://i-blog.csdnimg.cn/blog_migrate/0ba674fe08ca6f3a1440947b3ea28800.jpeg)
这篇我写标签,说起来这个标签,很常见,因为它会出现在每一个httml文档的最开头,然而,我们很少去重视它,为什么呢?
![427284f75ebc96def45e3843805a6e85.png](https://i-blog.csdnimg.cn/blog_migrate/481a0b70c49e2ef81be302eb3ad7523f.jpeg)
说到这个标签,我不得不说起html的版本历史了。
在大约10年前吧,html5应用还不如今天这么广泛吧,于是当时的文档类型声明如下
很长,也很难记,由于我入行晚,懂得这玩意就只是一个声明了,比如strict表示严格模式。其他的我也不想知道了。
当然html版本的规范从4到5的过渡经历了太多年,因为要考虑老浏览器的兼容性,再加上前期移动设备配置低,不支持较为复杂的媒体元素。于是,一些资历深的前端开发人员,面对这么长的代码还是有很长一段时间。
![aa23bb74ed6afa27d2da2acc5c75b318.png](https://i-blog.csdnimg.cn/blog_migrate/8988532ba8186bac7203e6d1f62a7788.jpeg)
当然,9102年都快过完了,我们这边已经不需要再考虑这些了,于是,我直接就用html5了。
然后声明文档给格式,就变得很简单了。
最开始我是使用sublime生成的模板练习的,然后,犯懒,直接输入了就出来下面的代码:
然后就开始进行填充了。
![26f445ba1f7a13c0d8068fefefcfe847.png](https://i-blog.csdnimg.cn/blog_migrate/fd13be6d342d7a3eee4bdbed0d52e0b7.jpeg)
直到今天我才注意到原来是单独的一行,与下方是两码事。
所以,我重新看了下书上的强调内容:
声明必须是 HTML 文档的第一行,位于 标签之前,没有结束标签,对大小写不敏感。 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。在 HTML 4.01 中, 声明引用 DTD(文档类型定义),因为 HTML 4.01 基于 SGML(标准通用标记语言))。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。HTML5 不基于 SGML,所以不需要引用 DTD。
关于SGML,参见https://wiki.mbalib.com/wiki/SGML
![cf6d2baae2b8290c3715c367814263a6.png](https://i-blog.csdnimg.cn/blog_migrate/e6d1f525e2d8cc0c7af2d558d5e8f78f.jpeg)
常用的 DOCTYPE 声明
HTML 5
HTML 4.01 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
HTML 4.01 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
![949755d36b65eafe602af47c99dc603e.png](https://i-blog.csdnimg.cn/blog_migrate/033a88037adb67008698c4375d83aa3a.jpeg)
XHTML 1.0 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
XHTML 1.0 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。
XHTML 1.0 Frameset
该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。
![8a5a47e0ad7a526fc4ea72f0bd876faa.png](https://i-blog.csdnimg.cn/blog_migrate/05e1bcdbdaccee765bd35676b5da96a9.jpeg)
XHTML 1.1
该 DTD 等同于 XHTML 1.0 Strict,但允许添加模型(例如提供对东亚语系的 ruby 支持)。
最后,虽然上方的html4和xml的文档类型声明这么麻烦了,但是这里没什么知识点了,因为如今,html5应用这么普及了,我们只需在文档开头写即可,当然html4的严格模式和传统模式大概知道就行了。