1.DOCTYPE的作用
DOCTYPE是document type(文档类型)的缩写。<!DOCTYPE html>声明位于文档最前面,主要作用是告诉浏览器的解析器使用哪种HTML规范或者XHTML规范来解析页面。只有定义了页面的文档类型之后,页面里的标记和css才会生效。web浏览器使用文档类型来确定它该以什么显示模式显示HTML文档;标记校验器将检查文档类型以确定该是用什么规则来校验文档。如果未在HTML文档中声明文档类型,则其在浏览器中实际显示出来的样子就不是你希望它显示的样子。
2.删掉<!DOCTYPE>会发生什么
在W3C标准出来之前,不同浏览器对页面渲染有不同的标准,产生了一定的差异,页面渲染根据浏览器不同而变化,这种渲染方式叫做混杂模式(怪异模式)。在W3C标准出来之后,浏览器对页面的渲染有了统一的标准,叫标准模式。<!DOCTYPE>不存在或者形式不正确会导致HTML 或 XHTML文档以混杂模式呈现,就是把如何渲染html页面的权利交给了浏览器,有多少种浏览器就有多少种展示方式。
3.怪异模式:浏览器会假定HTML是已经过时的老式文档或未按web标准编写的文档,这意味着网页虽然在浏览器中显示,但是浏览器在渲染页面时要做很多处理,因此王也在浏览器中实际显示出来的杨子有点怪异,不好看。“标准模式”和“怪异模式”之间的差异主要与CSS如何在浏览器中显示有关,基本上与浏览器如何处理HTML无关。
4.<html xmlns="http://www.w3.org/1999/xhtml">
这个"xmlns"是XHTML namespace的缩写,叫做"命名空间"声明。命名空间有什么作用?
答:由于xml允许你自己自定义标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生,XML 采用命名空间声明,允许你通过一个网址指向来识别你的标识。