xhtml 对决 html,到底用哪个标准?

Life is short , play more!
本文来自lihao's Blog,转载请注明。

严格来讲,都属于html, 当前我们见到的html版本如下. 从下表我们可以看到各个版本标准的时间,  第一个版本的xhtml 1.0 是基于html4.0.1 衍生而来.

版本 版本时间
HTML 1991
HTML+ 1993
HTML 2.0 1995
HTML 3.2 1997
HTML 4.01 1999
XHTML 1.0 2000
HTML5 2012
XHTML5 2013

html: 是一种标记语言,用来展现文本,文档, 他是可以跨平台的. 需要浏览器软件解析支持. 最早是面向特定用户, 后来扩展到支持超文本, 多媒体, 同样还有文档内容的格式.

xml: 不得不提一下xml. 他是可扩展标记语言.  从字面意思, 他是可以扩展的. 同样html是一种标记语言, 但由于版本的定义, 并不能良好扩展.  同时又有灵活性.

xhtml: 则囊括了html的易用性,和xml可扩展性. 例如XHTML 1.0 就是  HTML 4 作为一个XML 1.0 重构的一个标准.

xhtml与html的最大区别:

文档结构

  • XHTML DOCTYPE 是强制必须注明
  • <html> 的 XML namespace(命名空间) 属性是需要必须
  • <html>, <head>, <title>,  <body> 标签是强制存在

XHTML 元素

  • XHTML元素必须是嵌套正确
  • XHTML元素必须关闭例如 <br></br>  错误的是<br>
  • XHTML 元素必须是小写
  • XHTML 文档必须有一个根元素

XHTML 属性

  • 属性名称必须是小写
  • 属性值必须加引号
  • 简化书写属性值格式是禁止的. 例如如下是不被允许的.  错误<option selected>  必须为 右侧<option selected=”selected” >

一句话, xmthl更加严格, 像xml一样.

那我是应该用xhtml还是html呢?

这取决于你问谁,得到的答案也不相同。 这个问题有一些技术上的问题。在实际使用中,建议用广泛支持最新的W3C HTML4.01 或尝试 html5。 除非你真正需要XHTML,了解XHTML提供的功能。

为了真正受益于使用XHTML,你真的需要了解XHTML和HTML之间的根本区别。(xhtml可以做什么? html不能做什么?)一些网页设计师和开发人员更喜欢XHTML的语法规则。

xhtml可以支持的事情, 而html不支持

  • 使用 CDATA 段 (<![CDATA[ … ]]>). 这个非常有用,通常当我们的文档中包含其它的一些字符需要防止被解析等。
  • 使用PIs(处理指令),例如链接到一个stylesheet
    <?xml-stylesheet type=”text/css” href=”style.css” media=”screen”?>
  • 包含其他xml定义的元素,只要你定义了你需要引入的命名空间
  • 使用&apos;字符实体(单引号)待确认。

附:各种html版本如何声明

HTML 5

<!DOCTYPE html>

HTML 4.01 Strict (framesets 是不允许使用,一些非建议的元素不支持)

 

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>

HTML 4.01 Transitional  framesets 是不允许使用

 

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>

HTML 4.01 Frameset

 

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “http://www.w3.org/TR/html4/frameset.dtd”>

XHTML 1.0 Strict  framesets 是不允许使用

 

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

XHTML 1.0 Transitional  是不允许使用

 

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

XHTML 1.0 Frameset

This DTD is equal to XHTML 1.0 Transitional, but allows the use of frameset content.

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

XHTML 1.1 同XHTML 1.0 Strict, 允许添加模块。

 

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>

 


发表评论

电子邮件地址不会被公开。 必填项已用*标注