外部调用样式表
在以前,通常采用2种方法使用样式表:- 页面内嵌法:就是将样式表直接写在页面代码的head区。类似这样:
- 外部调用法:将样式表写在一个独立的.css文件中,然后在页面head区用类似以下代码调用。
双表法调用样式表
查看某些符合标准站点的原代码,可能会看到,在调用样式表的地方有如下2句:
为什么要写两次呢?
实际上一般情况下用外联法调用(就是第一句)就足够了。这里使用双表调用只是一种示例。其中的"@import"命令用于输入样式表。而"@import"命令在netscape 4.0版本浏览器是无效的。也就是说,当希望某些效果在netscape 4.0浏览器中隐藏,在4.0以上或其它浏览器中又显示的时候,可以采用"@import"命令方法调用样式表。
定义语言编码,类似这样:
为了被浏览器正确解释和通过W3C代码校验,所有的XHTML文档都必须声明它们所使用的编码语言,一般使用gb2312(简体中文),制作多国语言页面也有可能用Unicode、ISO-8859-1等,根据需要定义。
通常这样定义就可以。但是要补充说明的是,XML文档并不是这样定义语言编码的,XML的定义方式如下:
针对老版本浏览器,需要添加以下代码以保证各种浏览器都能正确解释页面:
注意:在上面声明语句的最后,看到有一个斜杠"/",这和以前的HTML4.0的代码写法不同。原因是XHTML语法规则要求所有的标识都必须有开始和结束。例如<body>和</body>、<p>和</p>等,对于不成对的标识,要求在标识最后加一个空格,然后跟一个"/"。例如<br>写成<br />、<img>写成<img />,加空格的原因是避免代码连在一起浏览器不识别。
DOCTYPE声明完毕后的名字空间定义
DOCTYPE声明好以后,接下来的代码是:
通常HTML4.0的代码只是<html>,这里的"xmlns"是什么呢?
这个"xmlns"是XHTML namespace的缩写,叫做"名字空间"声明。名字空间是什么作用呢?阿捷自己的理解是:
由于xml允许你自己定义自己的标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生,XML采用名字空间声明,允许你通过一个网址指向来识别你的标识。
XHTML是HTML向XML过渡的标识语言,它需要符合XML文档规则,因此也需要定义名字空间。又因为XHTML1.0不能自定义标识,所以它的名字空间都相同,就是http://www.w3.org/1999/xhtml。
后面的lang="gb2312",指定你的文档用简体中文。