xhtml 对决 html,到底用哪个标准?
Posted On 2013年7月2日
严格来讲,都属于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定义的元素,只要你定义了你需要引入的命名空间
- 使用'字符实体(单引号)待确认。
附:各种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”>
此篇文章已被阅读2160 次