导语:
今天在网上看到一个提问,说是前端面试官问他doctype,是什么?有什么作用?我一愣,这东西不是网页代码上最外层的一个吗?好像我也不知道这个东西有什么用,甚至每次都想把它给删除了,于是就去查询资料,发现了这个不为人知的知识点,记录一下。
我们来看这个!DOCTYPE html
1,DOCTYPE是啥?有什么作用?
DOCTYPE是document type (文档类型) 的缩写。声明位于文档的最前面,处于标签之前,它不是html标签。它的作用是告诉浏览器的解析器使用哪种HTML规范或者XHTML规范来解析页面。
要建立符合标准的网页,DOCTYPE的声明是必不可少的,因为他要告诉浏览器怎么解析这个网页文件。
2,如果我删除了这个Doctype
首先我们得明白Doctype可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。
然后由于历史的原因,浏览器对页面的渲染方式是不一样的。在W3C标准出来之前,浏览器对页面的渲染没有同一的标准,产生了差异,但在W3C标准出台之后,浏览器对页面的渲染有了同一的标准即(严格模式)。但是为了保证以前就得页面仍然正常显示,有的浏览器就保存了这两种渲染模式(标准兼容模式)。如果你把这个东西删除了,那么就没有这个标准了,页面会渲染成什么样子,就全凭浏览器了,一般来说,不同浏览器渲染出来是不同的。
3,常见的模式写法
HTML 4.01 Strict (严格模式)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional (过渡模式)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset(框架模式)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
补充:
微信搜索【web小馆】,回复全栈博客项目,即可获取项目源码和后续的实战文章教程。每天用最简单朴实的语言,潜移默化的提升你的计算机基础知识和前端技术。小米粥,一个专注的web全栈工程师,我们下期再见!