1. 用正确的文档类型和命名空间
XHTML允许设计师或开发者创造个性化的、不同类型的文档,每种文档被不同的规则约束。这些规则都在一个叫文档类型定义(DTD)的XHTML规范的基础上定义的。DOCTYPE声明校验服务,现代浏览器根据你定义的DTD来描述你的标记。在转换过程中,这些信息告诉那些校验服务和浏览器如何操作页面。
DOCTYPE声明的是一个兼容标准的网页的关键组成部分,如果DOCTYPE声明不正确,标记和CSS都不会生效。
Note:浏览器并不进行严格的DTD检验,如果需严格用XHTML则应发送MIME:aplication/xhtml+xml。
过渡型或框架型HTML 4.01声明与过渡型或框架型XHTML声明均可使浏览器进入近似标准模式,html5的DOCTYPE声明和严格型HTML 4.01声明以及严格型XHTML声明则会使浏览器进入标准模式。
XHTML 1.0提供了DTD的三种选择:过渡型(Transitional)、严格型(Strict)、框架型(Frameset)。其中过渡型DTD是唯一能容忍表现层的标记、垃圾元素和垃圾属性的DTD。
XML的命名空间(Namespace)是收集元素类型和属性名字的一个特定DTD,命名空间允许你通过一个在线地址指向你的命名空间。有了命名空间,不同的XML文档的元素就可以混合在一起,共同构成良好的文档,而不必担心发生命名冲突。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
2. 声明字符编码
a. XML Prolog(<?xml version="1.0" encoding="gbk" ?>)很多浏览器不能很好的处理;(目前IE/Windows仍不支持)
b. <meta http-equiv="Content-Type" content="text/html; charset=gbk" />;
c. http头指定编码。
3. XHTML1.0 规则
a. 以正确的DOCTYPE和命名空间开始文档;
b. 使用META内容元素声明内容类型;
c. 所有元素和属性名称用小写字母;
d. 给所有属性值加引号;
e. 给所有属性赋值;
f. 空标签也要闭合;
g. 不要再注释内容中使用“--”;
h. 确保用<和&表示<和&。
3. 在Web标准世界中,XHTML标记不是为了表现而设计的,它是以文档结构为核心的。具有良好结构的文档对那些使用Palm Pilot或者屏幕阅读器的用户更加友好。良好的文档结构对那些不支持CSS的老浏览器挥着关闭了CSS的现代浏览器的用户也有更好的视觉效果。
在XHTML中还不能完全将结构和表现分离,比如不是每个站点都能放弃HTML表格布局。