发展历程
早期web表示一些相互引用的研究文档,通过HTML控制基本的结构与格式,随着万维网的兴起,人们通过字体、表格、块引用(blockquote)创建所需的视觉效果,随着页面表现力的增强,页面代码可读性与可维护性变得越来越糟,从而出现了FrontPage、DreamWeaver等可视化的编辑工具;可视化编辑工具引出了另外页面维护性与稳定性相关的各类问题,在这个大背景下CSS出现,将表现与内容进行分离
HTML的发展
前期版本不做研究, HTML4.01在1999年成为推荐标准,目前比较老的web应用应该大多采用这个版本,后续W3C在此基础上推出XHTML1.0,1.1版本;HTML与XHTML主要区别为HTML以html文档方式提交为浏览器、XHTML以XML的方式提交给浏览器,从而XHTML对格式要求严格(标签成对出现、大小写问题、属性的写法等),个人觉得XHTML也没有什么不好的,CSS的盛行需要html的格式化程序支持......
随后Web之父Tim Berners-Lee发表了一篇博客文章,表示,从HTML走向XML的路是行不通的,从而W3C终止XHTML2.0的项目,转而在WHATWG的成果作为基础上进行HTML 5的规范制定
HTML 5在HTML4的基础上新增了结构性元素(header、nav等)以及表单特性;
CSS的发展
CSS的发展不过多说明,目前大多采用CSS3.0进行样式定义,CSS1-3的版本总体上只是定义样式范围的不断增加,只需选择稳定版本即可;
DOCTYPE
浏览器通过读取DOCTYPE,获取页面实用的html版本,通过规则检查页面有效性,并采取相应的措施,目前HTML 5的写法,定义在一个html的第一行 <!DOCTYPE html>,html5无需再定义文档类型(DTD);
历史写法:html 4.01的写法<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">Xhtml1.0的写法:<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ,其中DOCTYPE存在两种风格,严格(strict)和过渡(transitional)框架的(Frameset),过渡版帮助开发人员在老版本迁移到新版本,过渡版本中包含已经过期的元素,比如font元素;在讨论严格、过渡风格时常会说到盒模型;什么是盒模型呢?见下图(很常见但是专业的叫法可能没听过,细想还是专业叫法合理形象)
由于XHTML是通过XML方式提交给浏览器,因此存在完整个格式;如果格式错误浏览器将会不显示,这是强格式的一个问题;因此开发完成需要进行格式校验W3C验证器bookmaklet,火狐浏览器有其扩展插件,也可通过网络输入URL进行验证;实际上我们在开发过程中很少进行验证;
DOCTYPE对于浏览器的影响,涉及到浏览器的两种工作模式(标准模式与混杂模式),混杂模式是使浏览器可以模拟老式浏览器行为防止老站点无法工作;针对浏览器具体的工作模式不能深入说,禅曰“开口便错”,因为不能深入了解,所以就不做过多的说明;总之DOCTYPE的定义会触发浏览器的行为模式,基本严格(strict)的定义会触发标准模式,其它的触发混杂模式,有的浏览器存在准保准模式的第三种工作模式;从而影响CSS渲染以及JS部分的执行;
<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />表示,对于IE8采用IE7引擎进行处理,对于IE9则采用IE9进行处理;<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />IE=Edge则令IE以最新的保准进行渲染,chrome=1则允许使用谷歌的框架进行渲染;
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" / >,<meta http-equiv="X-UA-Compatible" content="IE=IE7" / >的区别在于EmulateIE7以DOCTYPE指定的方式以IE7标准模式进行渲染,混在模式中则以IE5渲染,而IE=IE7则脱离了DOCTYPE的定义,统一采用IE7的标准模式渲染; <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" / >为常规做法。
网友评论