首页 > 代码库 > W3C标准

W3C标准

万维网联盟World Wide Web Consortium(W3C)创建于1994年,是Web技术领域最具权威和影响力的国际中立性技术标准机构。

W3C标准不是某一个标准,而是一系列标准的集合。

一、HTML与XHTML

超文本标记语言(HyperText Markup Language)标准通用标记语言(Standard Generalized Markup language,缩写SGML下的一个应用。通常我们所说的HTML指的是HTML4.01

超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。

1、简述:HTML 是用来描述网页的一种语言。

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页

2、HTML 标记标签通常被称为 HTML 标签 (HTML tag)。

  • HTML 标签是由尖括号包围的关键词,比如 <html>
  • HTML 标签通常是成对出现的,比如 <b> 和 </b>
  • 标签对中的第一个标签是开始标签,第二个标签是结束标签
  • 开始和结束标签也被称为开放标签和闭合标签

3、HTML 文档 = 网页

  • HTML 文档描述网页
  • HTML 文档包含 HTML 标签和纯文本
  • HTML 文档也被称为网页

4、例子解释

  • <html> 与 </html> 之间的文本描述网页
  • <body> 与 </body> 之间的文本是可见的页面内容
  • <h1> 与 </h1> 之间的文本被显示为标题
  • <p> 与 </p> 之间的文本被显示为段落

XHTML,可扩展标记语言(Extensible HyperText Markup Language)标准通用标记语言下的一个子集。目前版本是XHTML1.0

1、简述:XHTML 是更严格更纯净的 HTML 代码。

  • XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language)。
  • XHTML 的目标是取代 HTML。
  • XHTML 与 HTML 4.01 几乎是相同的。
  • XHTML 是更严格更纯净的 HTML 版本。
  • XHTML 是作为一种 XML 应用被重新定义的 HTML。
  • XHTML 是一个 W3C 标准。

2、区别:

  • XHTML 元素必须被正确地嵌套。
  • XHTML 元素必须被关闭。
  • 标签名必须用小写字母。
  • XHTML 文档必须拥有根元素。(所有的 XHTML 元素必须被嵌套于 <html> 根元素中。)

二、W3C标准

上文提到,W3C标准指的不是一个标准,而是一系列标准的集合。

网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。

对应的标准也分三方面:

  • 结构化标准语言主要包括XHTML和XML
  • 表现标准语言主要包括CSS
  • 行为标准主要包括文档对象模型(DOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。

这里先插入比较旧的HTML4.01标准:

1、<html>元素:必不可少的元素之一

    网页总是以一个DOCTYPE开始,紧接着,<html>元素必须出现在网页的开头和结尾。因此,在DOCTYPE之后,网页的<html>标记开始,以</html>标记结束,而网页的其他东西都包含在里面。
2、使用<head>和<body>让你的网页更好。
    只有<head>元素和<body>元素可以直接包含于<html>元素,也就是其他任何元素都必须毫无例外地包含于<head>元素或<body>元素。
3、<head>元素里必须有<title>元素。
    我们总是给<head>元素一个<title>元素,这是规则。不这么做将导致HTML不合法。<head>元素是可以放置<title>元素,<meta>元素和<style>元素的唯一地方。
4、只使用有用的块元素填充<body>
    只能在<body>元素里直接放置块元素(<h1>,<h2>,...,<h6>,<p>,<blockqoute>等)。所有的内联元素和文本都必须在块元素中才能运行。
5、让块元素远离内联元素
    只有文本和其他内联元素可以嵌入内联元素中。块元素在任何情况下都不允许包含在内联元素里
6、块元素禁止包含在<p>元素之中
    只有文本才能组成段落,所以块元素不允许包含在<p>元素中。当然,只要你喜欢,可以在段落里使用所有的内联元素(<em>,<a>,<strong>,<img>,<q>等)
7、列表只能包括列表项目
    只有<li>元素允许放在<ul>元素和<ol>元素里。因此,只有列表项才能放在有序或无续列表里。
8、列表项可以是任何内容
    对于<li>元素的规则很宽松:你可以添加文本、内联元素或块元素到列表项里面。
9、<blockqoute>块引用
    在HTML4.01中,文本直接包含于块引用很常见。如果把页面作为 XHTML 进行验证,那么 <blockquote> 元素必须包含块级元素。
10、内联元素相互嵌套时要小心
    可以将任意内联元嵌入到另一个内联元素中,但有两种情况例外。<a>元素决不能自嵌套,因为那样用户不易理解。另外,据规定空元素(如<img>)中不能嵌套其他内联元素。
 

 XHTML标准:

相较于HTML4.01,XHTML1.0有以下特性:

1.所有的标记都都要闭合 
所有的标记都要闭合,如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如: 

<h6>close tag </h6> 
<img src="http://www.mamicode.com/avg.png" alt=’avg’/> 
<br /> 

2.所有标签的元素和属性的名字都必须使用小写 
与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。 

例如:<BODY>必须写成<body> <DIV> 要写成 <div> 

3.所有的XML标记都必须合理嵌套 
<p><b> </p></b> 必须修改为: <p> <b> </b> </p> 

就是说,一层一层的嵌套必须是严格对称。 

4.所有的属性必须用引号(单或双)包括 
在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。 

<height=80> 必须修改为: <height="80″> 

5.把所有<和&特殊符号用编码表示 
任何小于号(<),不是标签的一部分,都必须被编码为& l t ; 任何大于号(>),不是标签的一部分,都必须被编码为& g t ; 任何与号(&),不是实体的一部分的,都必须被编码为& a m p; 
注:以上字符之间无空格。 

6.给所有属性赋一个值 
XHTML规定所有属性都必须有一个值,没有值的就重复本身。 

<input type="checkbox" name="shirt" value="http://www.mamicode.com/medium" checked> 
必须修改为: 
<input type="checkbox" name="shirt" value="http://www.mamicode.com/medium" checked="checked"> 

7.不要在注释内容中使"--" 
"--"只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。 

<!--这里是注释----这里是注释--> 
需要用等号或者空格替换内部的虚线。 
<!--这里是注释============这里是注释--> 

注:-- 之间无空格 

8.图片必须有说明文字 每个图片标签都必须有alt说明文字。 
<img src="http://www.mamicode.com/ball.jpg" alt="large red ball" />

CSS规范:  详见CSS规范。

关于DOM,请大家直接访问w3school进行学习。

 

W3C标准