(一)HTML中Doctype的作用
声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该文件的类型。让浏览器解析器知道应该用哪个规范解析文档。声明必须在HTML文档的第一行,这并不是一个HTML标签。DTD(文档类型定义)是一组机器可读的规则,他们定义XML或HTML的特定版本中允许有什么,不允许有什么。在解析网页的时候,浏览器将使用这些规则检查页面的有效性并且采取 相应的措施。浏览器通过分析页面的DOCTYPE声明来了解使用哪个DTD,由此知道是使用HTML的哪个版本。
(二)严格模式和混杂模式的区别:
首先,严格模式(又称标准模式,Standards模式)和混杂模式(Quirk模式)都是指浏览器的呈现模式,要与Doctype的两种风格区别开来(严格( strict )和过渡( transitional ),过渡 DOCTYPE 的目的是帮助开发人员从老版本迁移到新版本)。
严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码,呈现页面
混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码,即使用一种比较宽松的向后兼容的方式来显示页面
而浏览器究竟是使用严格模式还是混杂模式呈现页面与网页中的 DTD (文件类型定义)直接相关。
对于 HTML 4.01 文档,
- 包含严格 DTD 的 DOCTYPE 常常导致页面以标准模式呈现。
- 包含过度 DTD 和 URI 的 DOCTYPE 也导致页面以标准模式呈现。
- 但是有过度 DTD 而没有 URI 会导致页面以混杂模式呈现。
DOCTYPE 不存在或形式不正确会导致 HTML 和 XHTML 文档以混杂模式呈现。
对于HTML5文档,
HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。( HTML5 没有严格和混杂之分)
Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
1)、声明位于文档中的最前面,处于标签之前。告知浏览器的解析器,用什么文档类型规范来解析这个文档。
(2)、严格模式的排版和JS 运作模式是 以该浏览器支持的最高标准运行。
(3)、在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。
(4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
css引入方式有哪些?link和@import方式区别?
方式: 行内添加定义style属性值,页面头部内嵌调用和外面链接调用,其中外面引入有两种:Link和@import
区别:(1)link是XHTML标签除了加载CSS外还可以定义RSS等其他事物;@import属于css范畴,只能加载CSS
(2) :link引用css时,在页面载入时同时加载;@import需要页面网页完全载入以后加载
(3)link是XHTML标签,无兼容性的问题;@import是在css2.1提出的,低版本的浏览器是不支持的
(4)link支持使用javascript控制DOM去改变样式;而@import不支持
阻止像父容器传递
DOM中的事件对象:
(符合W3C标准) preventDefault() 取消事件默认行为
stopImmediatePropagation() 取消事件冒泡同时阻止当前节点上的事件处理程序被调用。
stopPropagation() 取消事件冒泡对当前节点无影响。
IE中的事件对象:
cancelBubble() 取消事件冒泡 returnValue() 取消事件默认行为