XHTML与HTML之间的区别

翻译:Linyupark

You can prepare yourself for XHTML by starting to write strict HTML.
你可以开始通过书写严格的HTML代码来为你的XHML之行做好准备

--------------------------------------------------------------------------------

How To Get Ready For XHTML
如何为XHTML做准备呢?
XHTML is the next generation of HTML, but it will of course take some time before browsers and other software products are ready for it.
XHTML是HTML的下一代语言,但它将理所当然的在新的浏览器和其他的相关软件产品出现之前延迟一段时间才能普及。

In the meantime there are some important things you can do to prepare yourself for it. As you will learn from this tutorial, XHTML is not very different from HTML 4.01, so bringing your code up to 4.01 standards is a very good start. Our complete HTML 4.01 reference can help you with that.
其间,去做一些重要的事情来为它做准备。就像你可以从这教程学到东西一样,XHTML与HTML4.01相差不多,所以把你的代码改写成符合HTML4.01标准是一种非常好的开始,我们完整的HTML4.01参考可以帮助你解决这个问题。

In addition, you should start NOW to write your HTML code in lowercase letters, and NEVER make the bad habit of skipping end tags like the </p>.
另外,现在你应该开始用小写字母来书写你的HTML代码,并且永远不要再像以前那样有跳过像</p>这样的结尾标签的坏习惯。

Happy coding!
快乐的编码!

--------------------------------------------------------------------------------

The Most Important Differences:
非常重要的区别:
XHTML elements must be properly nested
XHTML元素必须合理嵌套
XHTML documents must be well-formed
XHTML文档必须格式正确
Tag names must be in lowercase
标签名称必须是小写
All XHTML elements must be closed
所有XHTML元素必须关闭

--------------------------------------------------------------------------------

Elements Must Be Properly Nested
元素必须合理嵌套
In HTML some elements can be improperly nested within each other like this:
在HTML中一些元素可以不使用正确的相互嵌套像这样:

<b><i>This text is bold and italic</b></i>In XHTML all elements must be properly nested within each other like this:
在XHTML所有元素必须合理的相互嵌套像这样:

<b><i>This text is bold and italic</i></b>Note: A common mistake in nested lists, is to forget that the inside list must be within a li element, like this:
注意:在列表嵌套的时候经常会犯一个错误,就是忘记了在列表中插入的新列表必须在一个<li>标记中,像这样:

<ul>
  <li>Coffee</li>
  <li>Tea
    <ul>
      <li>Black tea</li>
      <li>Green tea</li>
    </ul>
  <li>Milk</li>
</ul>This is correct:
这才是正确的:

<ul>
  <li>Coffee</li>
  <li>Tea
    <ul>
      <li>Black tea</li>
      <li>Green tea</li>
    </ul>
  </li>
  <li>Milk</li>
</ul>Notice that we have inserted a </li> tag after the </ul> tag in the "correct" code example.
在这段正确的代码示例中,要注意在</ul>之后加了一个</li>标签

--------------------------------------------------------------------------------

Documents Must Be Well-formed
文档格式必须合格
All XHTML elements must be nested within the <html> root element. All other elements can have sub (children) elements. Sub elements must be in pairs and correctly nested within their parent element. The basic document structure is:
所有的XHTML标记必须被嵌套使用在<html> 根标签之中。所有其他的标签可以有自己的子标签。位于父标签之内的子标签也必须成对且正确的嵌套使用。一个网页的基本结构是:

<html>
<head> ... </head>
<body> ... </body>
</html>

--------------------------------------------------------------------------------

Tag Names Must Be In Lower Case
标签名称必须是小写
This is because XHTML documents are XML applications. XML is case-sensitive. Tags like <br> and <BR> are interpreted as different tags.
这是因为XHTML文档是XML应用程序,XML是区分大小写的,像<br>和<BR>会被认为是两种不同的标签。

This is wrong:
这是错误的:

<BODY>
<P>This is a paragraph</P>
</BODY>This is correct:
这是正确的:

<body>
<p>This is a paragraph</p>
</body>

--------------------------------------------------------------------------------

All XHTML Elements Must Be Closed
所有的XHTML元素必须关闭
Non-empty elements must have an end tag.
非空元素必须有关闭标签。

This is wrong:
这是错误的:

<p>This is a paragraph
<p>This is another paragraphThis is correct:
正确是这样:

<p>This is a paragraph</p>
<p>This is another paragraph</p>

--------------------------------------------------------------------------------

Empty Elements Must Also Be Closed
空的元素也必须关闭
Empty elements must either have an end tag or the start tag must end with />.
空的元素也必须有一个结束标签或者开始标签用/>结束。

This is wrong:
这是错误的:

This is a break<br>
Here comes a horizontal rule:<hr>
Here''''s an image <img src="happy.gif" alt="Happy face">This is correct:
这是正确的:

This is a break<br />

Here comes a horizontal rule:<hr />Here''''s an image <img src="happy.gif" alt="Happy face" />
IMPORTANT Compatibility Note:
注意兼容性的关键:
To make your XHTML compatible with today''''s browsers, you should add an extra space before the "/" symbol like this: <br  />, and this: <hr  />.
为了使你的XHTML能够兼容现在的浏览器,你必须在/符号之前加一个特殊的空格,就像这样:<br  />和这样:<hr  />

(0)

相关推荐

  • XHTML与HTML之间的区别

    翻译:Linyupark You can prepare yourself for XHTML by starting to write strict HTML.你可以开始通过书写严格的HTML代码来为你的XHML之行做好准备 -------------------------------------------------------------------------------- How To Get Ready For XHTML如何为XHTML做准备呢?XHTML is the nex

  • vue中计算属性(computed)、methods和watched之间的区别

    前言 本文主要给大家介绍了关于vue中计算属性(computed).methods和watched之间的区别,分享出来供大家参考学习,下面来一起看看详细的介绍: 计算属性 和普通属性一样是在模板中绑定计算属性的,当data中对应数据发生改变时,计算属性的值也会发生改变. Methods methods是方法,只要调用它,函数就会执行. 相同:两者达到的效果是同样的. 不同:计算属性是基于它们的依赖进行缓存的,只有相关依赖会发生改变时才会重新求职.只要相关依赖未改变,只会返回之前的结果,不再执行函

  • Servlet和Filter之间的区别与联系

    filter是一个可以复用的代码片段,可以用来转换HTTP请求.响应和头信息.Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应. 最近使用插装的时候,改用cookie对计算机进行识别,加入了过滤,仔细研究了一下servlet和filter,区别主要是: 过滤器的生命周期一般都要经过下面三个阶段: servlet的特点是: 初始化 当容器第一次加载该过滤器时,init() 方法将被调用.该类在这个方法中包含了一个指向 Filter Con

  • Java servlet、filter、listener、interceptor之间的区别和联系

    servlet.filter.listener.interceptor之间的区别和联系 一.概念 1.servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层. 2.filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求.响应和头信息.Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应. 3.listener:

  • Java中List Set和Map之间的区别_动力节点Java学院整理

    Java集合的主要分为三种类型: • Set(集) • List(列表) • Map(映射) 要深入理解集合首先要了解下我们熟悉的数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据. 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. 世间上本来没有集合,(只有数组参考C语言)但有人想要,所以有了集合 有人想有可以自动扩展的数组,所以有了List 有的

  • ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别

    ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别      主要有这么几种,cmd.ExecuteReader();cmd.ExecuteNonQuery();cmd.ExecuteScalar();cmd.ExecuteXmlReader();) 1,ExecuteReader();返回一个SqlDataReader对象或OleDbDataReader对象,这个看你的程序的需要去 做.可以通过这个

  • iOS的UIColor类与其相关类之间的区别及判断相等的方法

    UIColor,CGColor,CIColor三者的区别和联系   最近看了看CoreGraphics的东西,看到关于CGColor的东西,于是就想着顺便看看UIColor,CIColor,弄清楚它们之间的区别和联系.下面我们分别看看它们三个的概念:   一.UIColor   UIColor是UIKit中存储颜色信息的一个重要的类,一个UIColor对象包含了颜色和透明度的值,它的颜色空间已经针对IOS进行了优化.UIColor包含了一些类方法用于创建一些最常见的颜色,如白色,黑色,红色,透明

  • Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解

    简介 最近了解到很多网页开发者对jquery中的 .bind() .live() .delegate() 和 .on() 方法存在很多的疑惑.这些疑惑通常是关于它们之间真正的区别是什么啊,什么时候该使用它们啊.下面本文将给大家详细介绍这四个方法之间的区别,分别对每个方法都进行了详细的介绍,话不多说,来一起看看详细的介绍: 在我们深入了解这些方法之前,我们先来一段常见的的HTML,作为我们编写jquery示例方法使用的样本. <ul id="members" data-role=&

  • 总结JavaScript三种数据存储方式之间的区别

    sessionStorage .localStorage 和 cookie 之间的共同点: 都是保存在浏览器端,且同源的. sessionStorage .localStorage 和 cookie 之间的区别: cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存.cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下. 存

  • 详谈锁和监视器之间的区别_Java并发

    在面试中你可能遇到过这样的问题:锁(lock)和监视器(monitor)有什么区别? 嗯,要回答这个问题,你必须深入理解Java的多线程底层是如何工作的. 简短的答案是,锁为实现监视器提供必要的支持.详细答案如下. 锁(lock) 逻辑上锁是对象内存堆中头部的一部分数据.JVM中的每个对象都有一个锁(或互斥锁),任何程序都可以使用它来协调对对象的多线程访问.如果任何线程想要访问该对象的实例变量,那么线程必须拥有该对象的锁(在锁内存区域设置一些标志).所有其他的线程试图访问该对象的变量必须等到拥有

随机推荐