HTML超文本 标记语言&XHTML 可扩展超文本标记语言

时间:2022-11-19 20:06:03

HTML 超文本标记语言

HTML是一种规范,一种标准

为什么称之为标记语言,因为它通过标记符号来标记要显示的网页中的各个部分。例如通过<p>xxx</p>来显示一个段落。

网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。

HTML之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。


XHTML 可扩展超文本标记语言(eXtensible HyperText Markup Language,XHTML)


可扩展超文本置标语言(eXtensible HyperText Markup Language,XHTML),是一种标记语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。从继承关系上讲,HTML是一种基于标准通用标记语言(SGML)的应用,是一种非常灵活的置标语言,而XHTML则基于可扩展标记语言(XML),XML是SGML的一个子集。XHTML 1.0在2000年1月26日成为W3C的推荐标准。
XHTML是当前HTML版的继承者。HTML语法要求比较松散,这样对网页编写者来说,比较方便,但对于机器来说,语言的语法越松散,处理起来就越困难,对于传统的计算机来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,难度就比较大。因此产生了由DTD定义规则,语法要求更加严格的从HTML到XHTML过渡的变化比较小,主要是为了适应XML

最大的变化在于文档必须是良构的,所有标签必须闭合,也就是说开始标签要有相应的结束标签。另外,XHTML中所有的标签必须小写。XHTML。而按照HTML 2.0以来的传统,很多人都是将标签大写,这点两者的差异显著。在XHTML中,所有的参数值,包括数字,必须用双引号括起来(而在SGML和HTML中,引号不是必须的,当内容只是数字、字母及其它允许的特殊字符时,可以不用引号)。

XHTML相比于HTML

1.所有的标记都必须要有一个相应的结束标记  
        以前在HTML中,你可以打开许多标签,例如和<li>而不一定写对应的和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。
        例如:     <img height="80" alt="网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />   
2.所有标签的元素和属性的名字都必须使用小写  
        与HTML不一样,XHTML对大小写是敏感的,<title> 和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。
        例如:<BODY>必须写成<body> 。大小写夹杂也是不被认可的,通常dreamweaver自动生成的属性名字"onMouseOver"也必须修改成"onmouseover"。  
3.所有的XML标记都必须合理嵌套  
        同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码:  
        <p><b></p></b>   
        必须修改为:
        <p><b></b></p>  
        就是说,一层一层的嵌套必须是严格对称。  
4.所有的属性必须用引号""括起来  
        在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。
        例如:  <height=80>   必须修改为:  <height="80">   特殊情况,你需要在属性值里使用双引号,你可以用",单引号可以使用&apos;,
        例如:   <alt="say&apos;hello&apos;">   
5.把所有<和&特殊符号用编码表示  
        任何小于号(<),不是标签的一部分,都必须被编码为& l t ;   
        任何大于号(>),不是标签的一部分,都必须被编码为& g t ;   
        任何与号(&),不是实体的一部分的,都必须被编码为& a m p;   
        注:以上字符之间无空格。  
6.给所有属性赋一个值  XHTML规定所有属性都必须有一个值,没有值的就重复本身。
        例如:  <input type="checkbox" name="shirt" value="medium" checked>   
        必须修改为:  <input type="checkbox" name="shirt" value="medium" checked="checked">   
7.不要在注释内容中使“--”  “--”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。
        例如下面的代码是无效的:  
        <!--这里是注释-----------这里是注释-->   
        用等号或者空格替换内部的虚线。  
        <!--这里是注释============这里是注释-->   
        以上这些规范有的看上去比较奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。  
8.图片必须有说明文字  每个图片标签都必须有ALT说明文字。  
        <img src="ball.jpg" alt="large red ball" title="large red ball"/> //为了兼容火狐和IE浏览器,对于图片标签,尽量采用 alt和title双标签,单纯的alt标签在火狐下没有图片说明!

XHTML的现行规范

1. XHTML 1.0 Transitional - 过渡型,标识语法要求较宽松  
    <!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    要求非常宽松的 DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。  
2. XHTML 1.0 Strict - 严格型,标识要求达到以上XHTML相比于HTML的所有改动  
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
    要求严格的DTD,你不能使用任何表现层的标识和属性。
3. XHTML 1.0 Frameset - 框架集定义  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">  专门针对框架页面设计使用的 DTD,如果你的页面中包含有框架,需要采用这种DTD  
4. XHTML 1.1 - 模块化的XHTML  
5. XHTML 2.0 - 完全模块化可定制化的XHTML,正在开发中,参考http://w3.org/。