zoukankan      html  css  js  c++  java
  • H5新增——html概述

    H5

    1.DOCTYPE和浏览器渲染模式
    	DOCTYPE,或者称为 Document Type Declaration(文档类型声明,缩写 DTD)
    	通常情况下,DOCTYPE 位于一个 HTML 文档的最前面的位置,位于根元素 HTML 的起始标签之前。
    	因为浏览器必须在解析 HTML 文档正文之前就确定当前文档的类型,以决定其需要采用的渲染模式,
    	不同的渲染模式会影响到浏览器对于 CSS 代码甚至 JavaScript 脚本的解析
    	
    	
    	到目前为止,各浏览器主要包含了三种模式。在 HTML5 草案中,更加明确的规定了模式的定义:
    	  	 传统名称	    				  		HTML5 草案名称				document.compatMode 返回值
    	standards mode(strict mode) 			no-quirks mode				CSS1Compat
    	almost standards mode					limited-quirks mode			CSS1Compat
    	quirks mode								quirks mode					BackCompat
    
    
    	document.compatMode
    		 document.compatMode 属性最初由微软在 IE 中创造出来,这是一个只读的属性,返回一个字符串,
    		 只可能存在两种返回值:
    			BackCompat:标准兼容模式未开启(怪异模式)
    			CSS1Compat:标准兼容模式已开启(标准模式)
    
    	在现代主流浏览器中,其实怪异模式的渲染和标准与几乎标准间没有太大的差别(ie9+ 谷歌 火狐 ...)
        ie5.5之前都是ie自己的渲染模式,怪异模式
        ie6才开始慢慢支持标准,标准模式,在ie6 中怪异和标准模式的区别最大
        ie7 8 9都是基于标准模式升级的,他们理论上存在怪异模式
    
    	HTML5提供的<DOCTYPE html>是标准模式,向后兼容的,等同于开启了标准模式,
    	那么浏览器就得老老实实的按照W3C的 标准解析渲染页面
    	一个不含任何 DOCTYPE 的网页将会以 怪异(quirks) 模式渲染。
    	
    	
    	
    	
    	
    2.DTD
    	<!DOCTYPE html>
    		当 doctype 信息如上时,表明该页面是遵守了 HTML5 规范的,浏览器会选择 Standards Mode,这种 doctype 是最推荐的一种,
    	我们平时设计页面都应该加上这一个 doctype。
    		HTML5 不基于 SGML,所以不需要引用 DTD,浏览器内部本身有对标签进行解析渲染验证的模块
    	
    	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    	当 doctype 如上时,浏览器同样会选择 Standards Mode,虽然和第一种 doctype 有一些区别,但是几乎可以认为是一样的。
    
    	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    	当 doctype 如上时,浏览器会选择 Almost Standards Mode,渲染时和标准会有一些区别
    
    	当 doctype 缺失的时候,浏览器会选择 Quirks Mode,这是非常不推荐的方式,
    	当 doctype上面有注释,标签或者空行时,某些浏览器都会认为该页面不具有doctype。
    	我们应该尽量避免 Quirks Mode,这对一个 web 应用是非常不利的地方。
    	
    
    
      
    	 
    4.每种doctype在浏览器中对应的渲染模式
    	https://en.wikipedia.org/wiki/Quirks_mode
  • 相关阅读:
    全面的学习资料(收藏)
    远程下载文件源码
    【转】c#托管资源和非托管资源区别
    Jquery 限制文本框输入字数
    好用的网站
    交叉表查询
    jquery 和 javascript 清空上传控件 方法总结
    关于java.io.IOException问题
    http 302
    django使用静态文件二
  • 原文地址:https://www.cnblogs.com/lufei910/p/13328237.html
Copyright © 2011-2022 走看看