目录
一、Web标准
浏览器的内核不统一,那么其工作原理、解析肯定不同,显示就会有差别。
1. Web标准的好处
-
让Web的发展前景更广阔
-
内容能被更广泛的设备访问
-
更容易被搜索引擎搜索
-
降低网站流量费用
-
使网站更易于维护
-
提高页面浏览速度
2. Web标准构成
Web标准不是某一个标准,是由W3C和其他标准化组织指定的一系列标准的集合,主要包括结构(Structure)、表现(Presentation)和行为(Behavior)三个方面。
-
结构标准:结构用于对网页元素进行整理和分类,主要包括XML和XHTML两个部分。
-
样式标准:表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS。
-
行为标准:行为是指网页模型的定义及交互的编写,主要包括DOM和ECMAScript。
理想状态我们的源码:.html .css .js
个人见解, 仅代表个人观点(我这该死的求生欲)
如果你了解html的历史,你就会知道 在从html1~5,这期间经历了漫长的浏览器战争,在战争中每个浏览器都想称霸世界,都在不断增加自己的专用扩展包,受害的是web开发人员,因为你要针对不同的浏览器你单独写web页面。直到html4的时候, 万维网协会结束了这场战争,创建了一个唯一的html标准。使结构表现分离成为两种语言,要求浏览器厂商也要遵循这套标准。html从1到5 会不会以后出现6 7 8,不会了。因为制定标准的人已经把这个规范变成了一个活的标准,他会随着技术的发展形成相应的文档,而不会在增加版本号。
二、HTML初识
1. HTML语言发展史
GML :是第一代标记语言,使文档能明确将标示和内容分开,所以文件使用同样的标示方法。
SGML: 标准通用标记语言( Standard Generalized Markup Language ) , 是1986年出版发布的一个信息管理方面的国际标准。该标准定义独立于平台和应用的文本文档格式,索引和链接信息,为用户提供一种类似于语法的机制,用来定义文档的结构和指示文档结构的标签(tag)。制定SGML的基本思想是把文档内容与样式分开 。 SGML规定了在文档中嵌入描述标记的标准格式,指定了描述文档结构的标准方法 。
一个典型的文档可被分为3个层次:结构,内容,样式。SGML主要是处理结构和内容之间的关系。
结构:为了描述文档的结构,SGML定义了一个称为“文档类型定义(Document Type Definition,DTD)”的文件,它为组织文档的文档元素(例如章和章标题,节和主题等)提供了一个框架。此外,DTD还为文档元素之间的相互关系指定了规则。例如,“章的标题必须是在章开始之后的第一个元素”,“每个列表至少要有两个项目”等。DTD定义的这些规则可以确保文档的一致性。
内容:这里指的内容就是信息本身。内容包括信息名称(标题)、段落、项目列表和表格中的具体内容,具体的图形和声音等。确定内容在DTD结构中的位置的方法称为“加标签”,而创建SGML文档实际上就是围绕内容插入相应的标签。这些标签就是给结构中的每一部分的开始和结束做标记。
样式:SGML本身正在定义样式(style)的设置标准,即文档样式语义学和规范语言(Document Style Semantics and Specification Language,DSSSL)。
SGML 因太严谨规范达500多页,故而不易学、不易用、难以实现,所以在它的基础上又发展出了其他的更易用的置标语言。
HTML:超文本标记语言(英语:Hyper Text Markup Language),是一种用于创建网页的标准标记语言。主要是通过HTML标签对网页中的文本、图片、声音等内容进行描述。
<strong>我是加粗的文本</strong>XML: 可扩展的标识语言(extensible Markup Language) , XML 也是 SGML 的一个子集,但使用比较严格的模式
XHTML 的出现是因为HTML扩充性不好,内容的表现跟不上时代的变化(如无法表示某些化学符号等),以及因为性能的问题,官方逐渐趋于严格的模式,所以使用 XML 的严格规则的 XHTML 成了 W3C 计划中 HTML 的替代者。
2、HTML、XML、XHTML的故事
1、在HTML的早期发展中,W3C成立之前,很多标准的制定都是在浏览器的开发者们互相讨论的情况下完成的,比如HTML 2.0, 3.2直到4.0, 4.01,这些标准大部分都是所谓的retro-spec,即先有实现后有标准。在这种情况下,HTML标准不是很规范,浏览器也对HTML页面中的错误相当宽容。这反过来又导致了HTML作者写出了大量的含有错误的HTML页面。据说,时至今日web上99%的页面都含有HTML错误。
2、W3C随后意识到了这个问题,并认为这是互联网的一个基础性问题,应该加以解决。为了规范HTML,W3C结合XML制定了XHTML 1.0标准,这个标准没有增加任何新的tag,只是按照XML的要求来规范HTML,并定义了一个新的MIME type,application/xhtml+xml。W3C的初衷是对这个MIME type浏览器要实行强错误检查,既如果页面有HTML错误,就要显示错误信息。但是由于已有的web页面中已经有了大量的错误,很多开发者拒绝使用新的MIME type。W3C不得已,在XHTML 1.0的标准之后加了一个附录C,允许开发者使用XHTML语法来写页面,同时使用旧的MIME type,application/html,来分发页面。这个旧的MIME type不会触发浏览器的强错误检查。这就是我们今天看到的情况,很多网站宣称自己遵守XHTML 1.0标准,那只不过是说,他的页面中用了XHTML语法,但并不能保证完全没有错误。要验证XHTML有没有真正起效,需要查看web服务器使用哪种MIME type来分发页面的。
3、W3C随后在XHTML 1.1中取消了附录C,即使用XHTML 1.1标准的页面必须用新的MIME type来分发。于是这个标准并没有很多人采用。这种情况同样发生在尚未完成的XHTML 2.0身上,它要求强错误检查,于是没有人采用。XHTML的故事也告诉我们,有时候先有标准再来实现,是行不通的。
4、有了XHTML的教训,WHAT Working Group和W3C在制定下一代HTML标准,也就是HTML5的时候,就将向后兼容作为了一个很重要的原则。HTML5确实引入了许多新的特性,但是它最重要的一个特性是,不会break已有的网页。你可以将任何已有的网页的第一行改成<!DOCTYPE html>,它就成也一个HTML5页面,并且可以照样在浏览器里正常的展示。
3、HTML、XHTML、HTML5的区别联系
1、XHTML与HTML最大的区别:
① XHTML标签名必须小写(错误:<Div> 正确:<div>)
② XHTML元素必须被关闭(错误:<p> 正确:<p></p>)
③ XHTML元素必须被正确的嵌套(错误:<div><p></div></p> 正确:<div><p></p></div>)
④ XHTML元素必须要有根元素(必须包含<html>)
2、XHTML与HTML5区别:
① HTML5新增了canvas绘画元素
② HTML5新增了用于绘媒介回放的video和audio元素
③ 更具语义化的标签,便于浏览器识别
④ 对本地离线存储有更好的支持,可通过ofline实现
⑤MATHML,SVG等,更好的render
⑥ 添加了新的表单控件:calendar、date、time、email、url、search
3、HTML与HTML5的区别:
HTML5在采用标准的同时,将向后兼容作为了一个很重要的原则,并且引进了很多新的特性与标签:比如语义化标签、媒体标签等
3、HTML、XHTML、HTML5之间联系
① XHTML是HTML规范版本;
② HTML5是HTML、XHTML以及HTML DOM 的新标准
4、总结:HTML标准的制定并不规范,XML则引入了很多标准,XHTML相当于是严格的HTML,HTML5就是新一代HTML标准,就是采用较为严格标准同时,追加了很多新特性。
tips:
现在说的 HTML 一般指 HTML 4.01 , HTML 5 则是 HTML 的第五个修订版,其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入。而HTML5本身并非技术,而是标准。它所使用的技术早已很成熟,国内通常所说的html5实际上是html与css3及JavaScript和api等的一个组合
html 4.01基于SGML,需要声明DTD。
html5不基于SGML,所以不需要引用DTD。
4、文档类型
这句话就是告诉浏览器, 我们使用哪一个html版本。
标签位于文档的最前面,用于向浏览器说明当前文档使用哪种HTML或XHTML标准规范,必须在文档开头使用标签为所有的HTML文档指定版本和类型,只有这样浏览器才能按指定的文档类型解析。
doctype 声明是不区分大小写的,以下方式均可:
<!DOCTYPE html>
<!DOCTYPE HTML>
<!doctype html>
<!Doctype Html>
5、字符集
<meta charset="UTF-8">UTF-8:是目前最常用的字符集编码方式,包含了全世界所有国家需要用到的字符
GB2312:简单中文,包括6763个汉字
GBK:包含全部中文字符,是GB2312的扩展,加入了对繁体字的支持,兼容GB2312
BIG5:繁体中文,港澳台等用