W3C简介
什么是W3C?
万维网联盟(World Wide Web Consortium)
创建于1994年10月
工作是对web进行标准化
创建并维护WWW标准
使用W3C的目的?
为了让任何人在任何时间、任何地点、通过任何设备访问web内容。作为用户和浏览器制造商之间的中间层,要想办法满足下游的用户和上游不同浏览器看到的是同样的内容,让页面、程序能支持所有的浏览器,能够满足尽可能多的用户
标准内容
1、DOCTYPE(document type)文档类型
用于说明你的XHTML或HTML是什么版本,其中的DTD为文档类型定义,里面包含了文档的规则,浏览器通过你定义的DTD来解释你页面的标识并展现出来,DOCTYPE是必不可少的关键组成部分,除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。以下是三种DTD声明(XHTML1.0):
(1)过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识,但要符合xhtml的写法:
代码如下:
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
(2)严格的(Strict):要求严格的DTD,你不能使用任何表现层的表示和属性,例如<br>
代码如下
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
(3)框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD
代码如下:
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
>
2、名字控件namespace
<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">
这个xmlns是XHTML namespace的缩写,叫做“名字空间”声明
3、定义语言编码
<meta http-equiv="Content-Type" content="text/html"; charset="gb2312">
为了被浏览器正确解释和通过W3C代码校验,所有的XHTML都必须声明它们所使用的编码语言,我们一般使用gb2312(简体中文),制作多国语言页面也有可能使用Unicode等
注:如果你忘记了定义语言编码,可能会出现乱码现象
4、JavaScript定义
JS必须使用<script language="javascript" type="text/javascript">来开头定义
5、CSS定义
CSS必须要用<style type="text/css">开头来定义,而不是原来的直接<style>,也不建议直接写在内容代码里如:<div style="padding-left=20px;"></div>,并需要加注释符
例如:
<style type="text/css" media="screen">
<!--
body{
margin:0px;
padding:0px;
}
-->
</style>
为保证浏览器的兼容性,在写css时需要写上数量单位,如上例中的margin:0px; px不可省略
6、不要在注释内容中使用"--"
"--"只能发生在XHTML注释的开头和结束,在内容中不再有效
例如:<!--注释--------------------注释-->是无效的,正确的应用是用=或空格代替内部的虚线
7、所有标签的元素和属性的名字都必须使用小写
XHTML大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写,大小写夹杂也是不被认可的,通常Dreamweaver自动生成的属性名"onMouseOver"也必须修改为"onmouseover"
8、所有的属性必须用""括起来
在HTML中,可以不需要给属性值加引号,但在XHTML中,它们必须被加引号,例如<height=80>必须修改为<height="80">
如果必须在属性值里使用双引号,可以用",单引号可以使用'
9、把所有<和&特殊符号用编码表示
任何小于号(<),不是标签的一部分,都必须被编码为<
任何大于号(>),不是标签的一部分,都必须被编码为>
任何与号(&),不是实体的一部分,都必须被编码为&
10、给所有属性赋值
XHTML规定所有的属性都必须有一个值,没有值的就重复本身
11、所有的标记都必须有一个相应的结束标记
XHTML要求有严谨的结构,所有标签必须关闭,如果是单独不成对的标签,在标签最后加一个"/"来关闭它
在js中,原已结束的标签需要再转义再结束
12、所有标记都必须合理嵌套
错误:<p><b></p></b>
正确:<p><b></b></p>
13、图片添加有意义的alt
尽可能让作为内容的图片都带有属于自己的属性。
同理:添加文字链接的title属性
14、在form表单中增加lable,以增加用户友好度
注:JQuery不符合W3C标准