返回列表 回复 发帖

[转载] 踏入W3C标准之一 - XHTML基础教程

前言:7 f: s! N$ S$ q5 O
$ K, e4 s7 y- ~1 ]( q( S4 ?& t* J
  现在都讲究标准建站,而标准建站使用的技术主要是XHTML+CSS,而现在我们普遍使用的是HTML代码,那么我该如何转换呢?以及HTML 和XHTML有什么不同呢?在这个教程里,你将学到HTML和XHTML之间的不同,以及如何将HTML转换为XHTML。毕竟XHTML是发展的方向,所以我觉得该教程有必要在本站上发布。我感觉要是你想使用标准还是最好先学HTML,因为比较简单,然后再来看该教程。
) F( |. ^6 k# N- s/ ~
& l! k6 T% `* v- ^  XHTML介绍:: m. \; ?4 J* W0 F% I3 D: m& ]
/ t) ]/ H) w) i  {; ^1 _2 i: Z
  XHTML是 EXtensible HyperText Markup Language(可扩展超文本标记语言) 的英文缩写,而HTML则是 HyperText Markup Language(超文本标记语言) ,这是名字的不同。其实我们说得标准应该是XML,那为什么要学习XHTML呢?因为现在的HTML代码烦琐,危机四伏,但是XML使用环境还不成熟,所以推出了一个过度的产品就是XHTML,它起着呈上起下的作用。也有人认为XHTML是HTML的一个升级版本,其实也是正确的,我的理解是XHTML把 HTML做得更加规范的一个标记语言,使HTML变得功能强大,减少了代码的烦琐尤其是表格。
& }) ^) d# w* _, \  ^1 q7 C7 Y( H" H
4 J6 U: Z' z3 i# B8 s' e* j  k) f* P  XHTML是在2000年1月26日被国际标准组织机构W3C(World Wide web Consortium)定为一个标准的,认为是HTML的一个最新版本,并且将逐渐替换HTML。现在所有的浏览器都支持XHTML,XHTML兼容 HTML 4.0。也有人认为XHTML就是HTML4.01。如果你在学习过程中自己编写了一个符合标准的站,你可以通过W3C的验证,验证通过后你将会得到一个标志,通常是XHTML1.0认证和CSS验证。我也不清楚目前国内有多少个网站同时通过了这两个验证。大家可以http://www.w3.org/ 这个站点去验证你的站,如果符合那两个规则则会分别给我们两段代码加到你的网页上向别人展示说明你采用了标准建站啊,牛啊!- f0 d, |2 n% o; W' y

1 x% Z7 f4 [+ t: n; Z  为什么我们使用XHTML
3 c$ h& m7 \* T# d6 A9 T! o/ i) [: o, T7 Z7 v5 ^& R
  XHTML是HTML升级为XML的过度产品,被定为一个标准,XHTML完全兼容HTML4.01,并且具有XML的语法。下面我们来看一个含有错误代码的HTML,如下:
  1.   <html>

  2.   <head>

  3.   <title>This is bad HTML</title>

  4.   <body>

  5.   <h1>Bad HTML

  6.   </body>
复制代码
  虽然含有错误代码,但是当我们在浏览器中浏览时还能正常显示。XML是一个标记语言,但是它要求在网页中出现的任何元素都应该被标记出来, XML是用来描述网页中的数据的,而HTML用来显示网页中的元素的。目前我们上网使用的各种浏览器技术,包括手提电脑、手机上网浏览等等,都要求浏览的一些内容都要被正确标记,如果有错误的标记可能会使显示特别混乱、甚至不能正常显示。
0 r0 ~2 O  |3 [5 p1 J! Y  ]$ H+ C: |4 s2 x0 `6 z
  因此联合 HTML 和XML , 还有其他的一些技术,我们得到了一种现在有用的而且在将来也有用的语言 - XHTML。. Z5 {7 X9 {+ l0 \0 t6 |
4 H# a& I& R) h: Q/ V* U
  当在将来都规范的时候我们就要用的 XHTML 正确格式的标记了,使所有的浏览器都能正确的执行,所以我们现在有必要开始学习XHTML了。
! Y( k$ f. B, p# v" J7 {; U4 G* T

4 q/ |& y& e- W) J) j- G1 ]! [' w2 P3 p: u
XHTML和HTML之间的区别:
( p9 v/ ^  U  p3 r( Z4 @" F' h
; g5 Q& ~) r+ l4 ~" P  XHTML是一项新技术,在浏览器和一些其他的软件都支持它之前,我们应该有必要熟悉一下这项技术。为了我们更好的学习XHTML之前我们应该熟悉一下HTML4.0,我们可以去下载一个参考手册来熟悉一下。以便于我们学起XHTML来更简单,换句话说我们现在使用HTML编写代码时应该尽力少写错误代码,如:都要使用小写的字符来编写HTML,每个标记之后都要加上标记的结束如:<p>网页教学网欢迎您的光临</p> 结束一定要有,我们要保持这种规则。
: o9 [. f2 x+ [/ n+ d' s* {4 W! z" I' ?& O' n
  它们之间最大的区别在于:6 p; l7 q' M4 V' p+ e

7 M: I  K2 X$ V9 p5 {  1.XHTML 元素一定要被正确的嵌套使用。
4 [! G/ [' f6 h! g! H- v
! e. Q! O) E3 a$ Y  在HTML里一些元素可以不正确嵌套也能正常显示,如:
  1.   <b><i>This text is bold and italic</b></i>
复制代码
  而在XHTML必须要正确嵌套之后才能正常使用,如:
  1.   <b><i>This text is bold and italic</i></b>
复制代码
  注意:这个错误通常发生在当嵌套多层之后的标签里面。如:
  1.   <ul>

  2.    <li>Coffee</li>

  3.    <li>Tea

  4.    <ul>

  5.     <li>Black tea</li>

  6.     <li>Green tea</li>

  7.    </ul>

  8.    <li>Milk</li>

  9.   </ul>
复制代码
  正确的应该是:
  1.   <ul>

  2.    <li>Coffee</li>

  3.    <li>Tea

  4.    <ul>

  5.     <li>Black tea</li>

  6.     <li>Green tea</li>

  7.    </ul>

  8.    </li>

  9.    <li>Milk</li>

  10.   </ul>
复制代码
  观察上述的两段代码我们可以看到正确的里面我们在 </ul>之后插入 </li> 标签。
4 g( A( S! `; u
, b! V0 d! B3 ], j, F  XHTML 文件一定要有正确的组织格式。1 ~+ s$ E! e! h  b

7 H) H2 A' z9 p  所有的XHTML应该正确的被嵌套在以<html>开始以</html>结束的元素里面,其他的元素可以有子元素,并且子元素也要被正确的嵌套在他们的父元素内。如:
  1.   <html>

  2.   <head> ... </head>

  3.   <body> ... </body>

  4.   </html>
复制代码
  标签名字一定要用小写字母。
: x2 _+ F0 v3 R( a4 ?1 A, S& U! ^" D
  因为 XHTML文档是XML应用程序, XML 对大小写是敏感的。象 <br> 和 <BR> 是两个不同的标记。如错误代码:
  1.   <BODY>

  2.   <P>This is a paragraph</P>

  3.   </BODY>
复制代码
  正确格式为:
  1.   <body>

  2.   <p>This is a paragraph</p>

  3.   </body>
复制代码
  所有的 XHTML 元素一定要关闭' e% F( V6 I% {
3 a: O& f+ J8 u1 M5 @, k6 [
  不能有没有关闭的空的元素存在我们的代码中,其实对于这点我们是比较好结束的,有开始就应该有结束吗?例如错误代码:
  1.   <p>This is a paragraph

  2.   <p>This is another paragraph
复制代码
  正确的为:
  1.   <p>This is a paragraph</p>

  2.   <p>This is another paragraph</p>
复制代码
  独立的一个标签我们也要结束用 />来结束。
0 U8 \' [7 B- ?! N
" A& J/ b8 }& Z  例如:错误代码
  1.   This is a break<br>

  2.   Here comes a horizontal rule:<hr>

  3.   Here's an image <img src="happy.gif" alt="Happy face">
复制代码
  正确代码:
  1.   This is a break<br />

  2.   Here comes a horizontal rule:<hr />

  3.   Here's an image <img src="happy.gif" alt="Happy face" />
复制代码
  通过上面的几个例子我们基本上看出了HTML和XHTML之间的不同,那么我们应该从现在起应该试着改变我们现在的HTML,例如都使用小写的标记、在标记之后加上结束标记的符号 />。
. ]7 |; Z. T2 _, x+ }8 U* Z
& P1 Z. S) F( Q, {$ Y; B4 [% w6 q+ A8 ?" Y6 z

3 I8 R0 B: y0 U& fXHTML 的语法
. H4 G; p* @0 C. o5 f1 T+ r4 X+ |9 E
1 }! W" l4 t) ]  简单的说写 XHTML 要用干净的 HTML 语法。  i: P; @* y" Q. ?, l

) y# b' _3 ^. S9 M  XHTML的一些其他语法要求:5 i/ D& [* n; s) s) ^" J! w
4 X# D* v( z4 h
  属性名字必须小写。如:- P8 o3 Q( u/ M* `

0 n9 c% U5 F2 Z# J! }  错误代码:
  1.   <table WIDTH="100%">
复制代码
  正确的代码:
  1.   <table width="100%">
复制代码
  属性值必须要被引用。如:
9 B8 K$ d5 {) H. v8 w0 b$ z' w/ c' C) A! O2 m
  错误的代码:
  1.   <table width=100%>
复制代码
  正确的代码:
  1.   <table width="100%">
复制代码
  属性的缩写被禁止。如:
1 n) \: `+ F3 J: R* n9 w1 z
' c9 y( E' T: `) t! P  错误的代码:
  1.   <dl compact>

  2.   <input checked>

  3.   <input readonly>

  4.   <input disabled>

  5.   <option selected>

  6.   <frame noresize>
复制代码
  正确的代码:
  1.   <dl compact="compact">

  2.   <input checked="checked" />

  3.   <input readonly="readonly" />

  4.   <input disabled="disabled" />

  5.   <option selected="selected" />

  6.   <frame noresize="noresize" />
复制代码
  列出一个表让大家知道:1 f7 B( E" j; o) z$ b
HTMLXHTML
compactcompact="compact"
checkedchecked="checked"
declaredeclare="declare"
readonlyreadonly="readonly"
disableddisabled="disabled"
selectedselected="selected"
deferdefer="defer"
ismapismap="ismap"
nohrefnohref="nohref"
noshadenoshade="noshade"
nowrapnowrap="nowrap"
multiplemultiple="multiple"
noresizenoresize="noresize"

, O7 `  _- d$ N' o- N( f& u" O  T
/ {: B5 l- B" e* F! @, d& y( f  用id属性代替name属性。如:
. J$ @) B# J; U1 U4 ^% s8 f& E+ k
  HTML 4.01 中为a,applet, frame, iframe, img 和 map定义了一个name属性.在 XHTML 里name属性是不能被使用的,应该用id 来替换它。如:
1 y" m% }/ H3 E) [! l, ?$ C) r- z$ S: O- t) A# K
  错误代码:
  1.   <img src="picture.gif" name="picture1" />
复制代码
  正确的代码:
  1.   <img src="picture.gif" id="picture1" />
复制代码
  注意:我们为了使旧浏览器也能正常的执行该内容我们也可以在标签中同时使用id和name属性。如:
  1.   <img src="picture.gif" id="picture1" name="picture1" />
复制代码
  为了适应新的浏览器浏览我们在上述代码中的最后我加了/来结束标签。
怨去吹箫,狂来说剑,两样销魂味。
返回列表