HTML 5 + XHTML

xhtml是用xml的规则重新规范html,xhtml是xml的一个子集,所以具备了xml的特性。

html就是超文本标记语言

无法说二者哪个更好,或者更好用,各有优劣。

目前html5比较被看好。尽管下一代xhtml遥遥无期,但它的出现和应用也曾拯救了不少人啊,不然谁在乎前端代码啊?

 

XHTML 就是符合 XML 标准的改进型 HTML,对语法的苛刻程序和其它基于 XML 的一样。

、XHTML 1.0 Strict 的 <a> 标签没有 target 属性,郁闷了。。。。现在觉得 HTML5 挺不错的,可以写得很简洁很语义化。

 

一个简洁版本

 

strict html 4.01 标准

 

<html> 必须是root元素

<head>和<body> 是 <html>中一定有且只有的元素

<head> 必须有 <title>, <meta>和<style>可选, 他们只能在<head>里

<body> 里只能有 block元素

block元素不能放在inline元素里

block元素不能放在<p>里

<ul>和<ol>中只能有<li>元素,但<li>里可以放其他,包括block元素

<blockquote>中只能放block元素

 

xhtml 1.0 标准

 

html元素需要有xml相关属性

元素名必须是小写字母

元素属性用"包围,不能为空值

在内容里不能有&, 需要转义,包括其他特殊字符<>,即特殊字符都需要转义

空元素以 />结尾

 

xhtml与html严格意义上其实没什么区别:

xhtml1.0的开发实际上是作为html4.01与xml2.0的一个过渡的网页版本而存在的,因为xml的解析语法过于苛刻,简单一句话就是:(xhtml1.0)只要网页中出现一处错误,则浏览器停止解析。

 

几年前,按照w3c的计划xhtml1.0的下一个版本来应该是xhtml 2.0的,但因为xhtml 2.0的语法苛刻程度已经是xml的苛刻程度了,但是xml违背了网页设计的一个基本原理,即“发送时要保守,接收时要开放。”,于是xhtml2.0项目最终流产,被html5所取代。 

 

其实不管你写html还是xhtml,都要注意代码实现的标准性和优雅性,但当你通过这个网址(http://validator.w3.org/)来检验你写的代码的规范性。

如果你的文档声明的是xhtml的话,该网页就会提示你许多你没有注意到的代码错误,尽管这些错误有时会被浏览器自动纠正,不会造成事实上的的呈现错误。

html的文档声明网页提示的错误要少很多。 

 

HTML4,HTML5,XHTML 之间有什么区别?

从HTML的历史谈谈他们3者的区别。

 

在HTML的早期发展中,W3C成立之前,很多标准的制定都是在浏览器的开发者们互相讨论的情况下完成的,比如HTML 2.0, 3.2直到4.0, 4.01,这些标准大部分都是所谓的retro-spec,即“先有实现后有标准”。

在这种情况下,“HTML标准不是很规范,浏览器也对HTML页面中的错误相当宽容”。这反过来又导致了HTML作者写出了大量的含有错误的HTML页面。据说,时至今日“web上99%的页面都含有HTML错误”。

 

W3C随后意识到了这个问题,并认为这是互联网的一个基础性问题,应该加以解决。为了规范HTML,“W3C结合XML制定了XHTML 1.0“标准。

这个标准没有增加任何新的tag,只是按照”XML的要求来规范HTML“,并定义了一个新的MIME type,application/xhtml+xml。

W3C的初衷是对这个”MIME type浏览器要实行强错误检查“,既如果页面有HTML错误,就要显示错误信息。但是由于已有的web页面中已经有了大量的错误,很多开发者拒绝使用新的MIME type。

W3C不得已,在XHTML 1.0的标准之后加了一个附录C,允许开发者使用XHTML语法来写页面,同时使用旧的MIME type,application/html,来分发页面。这个旧的MIME type不会触发浏览器的强错误检查。

这就是我们今天看到的情况,很多网站宣称自己遵守XHTML 1.0标准,那只不过是说,他的页面中用了XHTML语法,但并不能保证完全没有错误。要验证XHTML有没有真正起效,需要查看web服务器使用哪种MIME type来分发页面的。

 

 

W3C随后在XHTML 1.1中取消了附录C,即使用XHTML 1.1标准的页面必须用新的MIME type来分发。于是这个标准并没有很多人采用。这种情况同样发生在尚未完成的XHTML 2.0身上,

它”要求强错误检查“,于是没有人采用。

XHTML的故事也告诉我们,“有时候先有标准再来实现,是行不通的”。

 

 

有了XHTML的教训,WHAT Working Group和W3C在制定下一代HTML标准,也就是HTML5的时候,就将“向后兼容”作为了一个很重要的原则。

HTML5确实引入了许多新的特性,但是它“最重要的一个特性”是,“不会break已有的网页”。

你可以将任何已有的网页的第一行改成<!DOCTYPE html>,它就成也一个HTML5页面,并且可以照样在浏览器里正常的展示。

 

 

HTML4是目前互联网上使用最广泛的标准,成于1999年左右。 

HTML5是很有野心的下一代标准,因为4之后已经有十几年的时间了,这十几年也是互联网飞速发展的时期,因此很多应用场景,4不支持或者使用基于4的技术体系实现起来很费劲,需要插件,walkaround等等。 

HTML5已经远远超越了标记语言的范畴,其背后是一组技术集。 

 

最基本的就是更富语义的标签,以便更好的被机器识别; 

Canvas+WEBGL等技术,实现无插件的动画以及图像、图形处理能力; 

本地存储,可实现offline应用; 

websocket,一改http的纯pull模型,实现数据推送的梦想; 

MathML,SVG等,支持更加丰富的render; 

 

我觉得HTML5的好处还在于对跨浏览器方面的推动,因为4时代,由于语言本身的弱,导致了浏览器各自为政扩展开发了很多特性,导致浏览器之间不兼容,跨浏览器的应用开发是一件十分令人头疼的事情。 

HTML5是标准与实现同步在推,w3c声明,将来标准完成之时,就至少会有两种浏览器能够完全支持标准,目前来看,情况还比较乐观。

 

XHTML和HTML4最大的不同是实现了结构与表现的分离,网页文件体积变小,打开速度变快,样式修改更方便。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值