HTML 和 XHTML 区别

1.初级改善

  • 为页面添加正确的DOCTYPE

很多设计师和开发者都不知道什么是DOCTYPE,DOCTYPE有什么用。

DOCTYPE是document type的简写。主要用来说明你用的XHTML或者HTML是什么版本。

浏览器根据你DOCTYPE定义的DTD(文档类型定义)来解释页面代码。

所以,如果你不注意设置了错误的DOCTYPE,结果会让你大吃一惊。

XHTML1.0提供了三种DOCTYPE可选择:

(1)过渡型(Transitional

  1. <!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

复制代码

(2)严格型(Strict

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
    1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

复制代码

(3)框架型(Frameset

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
    1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

复制代码

对于我们初级改善来说,只要选用过渡型的声明就可以了。

它依然可以兼容你的表格布局、表现标识等,不至于让你觉得变化太大,难以掌握。

Tip:你懒得输入上面过渡型代码的话,可以访问http://www.macromedia.com/网站的首页,然后查看源代码,把head区同样的代码拷贝粘贴就可以了。

  • 设定一个名字空间(Namespace)

直接在DOCTYPE声明后面添加如下代码:

  1. <html
    XMLns="http://www.w3.org/1999/xhtml"
    >

复制代码

一个namespace是收集元素类型和属性名字的一个详细的DTD,namespace声明允许你通过一个在线地址指向来识别你的namespace。只要照样输入代码就可以。

  • 声明你的编码语言

为了被浏览器正确解释和通过标识校验,所有的XHTML文档都必须声明它们所使用的编码语言。代码如下:

  1. <meta http-equiv="Content-Type" content="text/html;
    charset=GB2312" />

复制代码

这里声明的编码语言是简体中文GB2312,你如果需要制作繁体内容,可以定义为BIG5。

  • 用小写字母书写所有的标签

XML对大小写是敏感的,所以,XHTML也是大小写有区别的。所有的XHTML元素和属性的名字都必须使用小写。

否则你的文档将被W3C校验认为是无效的。例如下面的代码是不正确的:

  1. <TITLE>公司简介</TITLE>

复制代码

正确的写法是:

  1. <title>公司简介</title>

复制代码

同样的,<B>改成<b>等等。这步转换很简单。

  • 为图片添加 alt 属性

为所有图片添加alt属性。alt属性指定了当图片不能显示的时候就显示供替换文本,这样做对正常用户可有可无,但对纯文本浏览器和使用屏幕阅读机的用户来说是至关重要的。

只有添加了alt属性,代码才会被W3C正确性校验通过。注意的是我们要添加有意义的alt属性,象下面这样的写法毫无意义:

  1. <img src="logo_unc_120x30.gif" alt="logo_unc_120x30.gif">

复制代码

正确的写法:

  1. <img src="logo_unc_120x30.gif" alt="UNC公司标志,点击返回首页">

复制代码

  • 给所有属性值加引号

在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。

例:height="100",而不能是height=100。

  • 关闭所有的标签

在XHTML中,每一个打开的标签都必须关闭。就象这样:

  1. <p>每一个打开的标签都必须关闭。</p>
    <b>HTML可以接受不关闭的标,XHTML就不可以。</b>

复制代码

这个规则可以避免HTML的混乱和麻烦。

举例来说:如果你不关闭图像标签,在一些浏览器中就可能出现CSS显示问题。用这种方法能确保页面和你设计的一样显示。

需要说明的是:空标签也要关闭,在标签尾部使用一个正斜杠"/"来关闭它们自己。例如:

  1. <br />

  2. <img src="webstandards.gif" />

复制代码

经过上述七个规则处理后,页面就基本符合XHTML1.0的要求。但我们还需要校验一下是否真的符合标准了。

我们可以利用W3C提供免费校验服务(http://validator.w3.org/)。发现错误后逐个修改。

在后面的资源列表中我们也提供了其他校验服务和对校验进行指导的网址,可以作为W3C校验的补充。

当最后通过了XHTML验证,恭喜你已经向网站标准迈出了一大步。不是想象中的那么难吧!

用实体字符代表>,<,空格,&等

以下最后都要加上‘;‘分号

  1. &gt;

  2. &lt;

复制代码

2.中级改善

接下来我们的改善主要在结构和表现相分离上,这一步不象第一步那么容易实现,我们需要观念上的转变,以及对CSS2技术的学习和运用。

但学习任何新知识都需要花点时间的,不是吗?诀窍在于边做边学。

假如你一直采用表格布局,根本没用过 CSS,也不必急于跟表格布局说再见,你可以先用样式表代替 font 标签。

随着你学到的越多,你能做的就越多。好,一起来看看我们需要做哪些事:

  • 用CSS定义元素外观

我们在写标识时已经养成习惯,当希望字体大点就用<h1>,希望在前面加个点符号就用<li>。

我们总是想<h1>的意思是大的,<li>的意思是圆点,<b>的意思是“加粗文本”。

而实际上,
<h1>能变成你想要的任何样子,通过CSS,<h1>能变成小的字体,<p>文本能够变成巨大的、粗体的,<li>能够变成一张图片等等。

我们不能强迫用结构元素实现表现效果,我们应该使用CSS来确定那些元素的外观。例如,我们可以使


原来默认的6级标题可以看起来大小一样:

  1. h1, h2, h3, h4, h5, h6{ font-family: 宋体, serif; font-size: 12px; }

复制代码

  • 用结构化元素代替无意义的垃圾

许多人可能从来都不知道HTML和XHTML元素设计本意是用来表达结构的。

我们很多人已经习惯用元素来控制表现,而不是结构。例如,一段列表内容可能会使用下面这样的标识:

  1. 句子一<br /> 句子二<br /> 句子三<br />

复制代码

如果我们采用一个无序列表代替会更好:

  1. <ul> <li>句子一</li> <li>句子二</li>
    <li>句子三</li> </ul>

复制代码

你或许会说“但是<li>显示的是一个圆点,我不想用圆点”。事实上,CSS没有设定元素看起来是什么样子,你完全可以用CSS关掉圆点。

  • 给每个表格和表单加上id

给表格或表单赋予一个唯一的、结构的标记,例如

  1. <table id="menu">

复制代码

接下来,在书写样式表的时候,你就可以创建一个“menu”的选择器,并且关联一个CSS规则,用来告诉表格单元、文本标签和所有其他元素怎么去显示。

这样,不需要对每个%lt;td>标签附带一些多余的、占用带宽的表现层的高、宽、对齐和背景颜色等等属性。

只需要一个附着的标记(标记“menu”的id标记),你就可以在一个分离的样式表内为干净的、紧凑的代码标记进行特别的表现层处理。

中级改善我们这里先列主要的三点,但其中包含的内容和知识点非常多,需要我们逐步学习和掌握,直到最后实现完全采用CSS而不才用任何表格实现布局。

时间: 2024-10-15 20:16:11

HTML 和 XHTML 区别的相关文章

HTML和XHTML区别

HTML和XHTML XHTML(eXtensible HyperText Markup Language,可扩展超文本标记语言)是将HTML(HyperText Markup Language,超文本标记语言)作为XML应用而重新定义的标准. 在HTML5标准中定义了两种语法(HTML 4.01和XHTML 1).在标准中可以通过定义一个特殊的DOCTYPE标签来XHTML,但是没有浏览器去实现这一标准.所以最后HTML5标准推翻了这个决定. 可以通过使用MIME类型(包含在HTTP请求中的C

HTML与XHTML区别比较

以下内容翻译自:http://reference.sitepoint.com/html/html-vs-xhtml 1.html大小写不敏感,XHTML敏感,只能用小写标签 2.html标签不一定要求闭合,但是XHTML标签必须闭合 在html中,下面有效:<p>This is my first paragraph.<p>This is my second paragraph.<p>And here's the last one.. 但在Xhtml中,必须改为:<

html与xhtml区别

XHTML1.0对HTML4.0的改进 (1)借鉴了XML的写法,语法更加严格 (2)把页面的内容和样式分离了:废弃了HTML4中的表示样式的标签和属性,推荐使用CSS来描述页面的样式 严格版(strict):(1)使用严格XML语法(2)禁用样式相关的标签和属性 过渡版(transitional):(1)使用严格的XML语法(2)允许使用废弃的样式相关标签和属性 HTML4.0中为了丰富显示效果,设计的很多标签和属性把页面的“内容”和“表现”混杂在一起:导致页面内容杂乱,不便于理解和修改.

html、XHTML、xml

html:超文本标记语言 XHTML:可扩展性超文本标记语言 xml:可扩展性标记语言 发展趋势:html——XHTML——xml html语法比较松散,这样对网页开发编写者来说,比较方便自由,但对机器而言,语言的语法越松散,处理起来就越困难,对于传统的计算机来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,就很困难了.因此产生了有DTD(文档类型定义Document Type Definition是一套关于标记符的语法规则)定义规则,语法要求更严格的XHTML 区别: html 1.对

web前端开发工程师“想都不用想”的几个知识点

1.DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动.document.documentElement     返回文档的根节点<html> document.body     <body> document.activeElement 返回当前文档中被击活的标签节点(ie) event.fromElement        返回鼠标移出的源节点(ie) event.toElement       返回鼠标移入的源节点(ie) event.srcElement 

The first day of HTML

这是韩顺平老师的<轻松搞定网页设计(html.css.js)>,讲的还凑合,仅作入门.决定还是做好笔记,记录学习的过程,这是HTML的第一天. HTML(HyperText Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言. HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字.图形.动画.声音.表格.链接等.HTML的结构包括头部(Head).主体(Body)两大部分,其中头部描述浏览器所需的

FE-learning 前端学习

github偶尔上不去,把学长给我们的学习资源转载在这里,同时记录下自己的学习感悟. Lesson 1:html 基本标签 Lesson 2: html语义化 html4 html5 xhtml区别 Lesson 3: html编码标准,百度教育页面html分析 Lesson 4:http://www.w3.org/Style/LieBos2e/enter/ http://www.w3.org/MarkUp/Guide/Style https://developer.mozilla.org/en

前端面试题 ---- html篇

一.html 1.html和xhtml区别 1. html:超文本标记语言,hyper text markup language      xhtml: 可拓展的超文本标记语言 extensible hyper text markup language 它是一种置标语言,表现方式和超文本标记语言html类似不过语法更加严格 2.  xhtml 所有标签必须小写 在XHTML中,所有的标签都必须小写,不能大小写穿插其中,也不能全部都是大写. 3.  xhtml 标签必须成对出现 像是<p>...

关于HTML、XHTML、CSS、XML的区别

1.HTML(Hyper Text Mark-up Language) HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是为“网页创建和其他可在网页浏览器中看到的信息设计的一种标志语言”,也是构成网页文档的主要语言. 设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上.我们只需使用鼠标在某一文档中点取一个图标,Int