请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 4348|回复: 14

[HTML5] HTML5初探 [复制链接]

ONEBOYS 楼主

步舞之鹤

金牌会员 手机认证 

帖子
1859
体力
4403
威望
16
居住地
浙江省 杭州市
发表于 2009-9-9 14:34:23 |显示全部楼层
html5如何而来?
HTML isn't a very good language!它亟待改进。
因此,1999年W3C停止了HTML的工作,2000年发布xhtml的第一个推荐版本。
2002年W3C发布XHTML 2.0第一个草案,令人吃惊的是:XHTML2.0不是向后兼容的(Web 的未来:XHTML 2.0(2003.1.1))。
随着XHTML的越来越火,绝大多数人都认为它将是web的未来。然而终于有些人坐不住了,面对W3C对HTML的持续冷淡,2004年,由Apple, Mozilla Foundation 和Opera Software组成了The Web Hypertext Application Technology Working Group (WHATWG),致力于发展HTML和创建Web applications所需的APIs。他们开始制定Web Applications 1.0 规范,这也就是后来HTML5。
WHATWG的努力没有白费,这份规范的草案在2007年通过了W3C的审核。
W3C组织了HTML工作组,并在2008年1月22日公开了第一份草案。
2009年7月2日,W3C宣布在年内停止XHTML 2的工作,而将资源投入转向HTML5工作组(XHTML 2 Working Group Expected to Stop Work End of 2009, W3C to Increase Resources on HTML 5
在标准化的春风吹满神州之际,xhtml2却溘然而止,HTML5取代上位,我们广大的web工作者是不是需要做什么呢?

我们不需要做什么!
HTML5 的目标是保持HTML当前标准HTML4.01和HTML的XML版本XHTML1.0 向后兼容。
同以前的HTML4一样:它没有名称空间或模式、元素不必结束、浏览器会宽容地对待错误。
对于XHTML1,它也没有什么排斥。
相反的,XHTML2才是不向后兼容的。
所以,我们并不需要非得做什么改变,才能适应在HTML5下面的页面工作。
当然HTML5不会仅仅如此而已,只是HTML5是想让不支持它的浏览器中能够平稳地退化。
随着浏览器的缓慢升级,HTML5的真正好处才会开始慢慢体现,当别人的网页通过html5实现了越来越多的功能之后。到时,你再虑是不是需要做什么——理论上讲,也是不晚的。
我们不需要做什么,但我们可以做的更多

HTML5能做什么?
一句话:很多!HTML5还在草案阶段,他的功能仍将扩展。
首先,我们应该知道,html5已经不只是Hypertext Markup Language,它更是一种Web Hypertext Application Technology。

1. html5增加了一些结构性(Sections)元素:header,footer,nav,section,article,aside,用来替代千篇一律的div布局,非常语义化。

2. 还有meter(数值尺),progress(进度表),mark(标记)这些语义内联元素。通过自带的属性,可以进行很直接地描述。

3.一些交互元素。details(脚注),datagrid(网格控件——可动态显示树、列表和表格),menu和command(可以做交互菜单)

4. 媒体元素video,audio,source。不需要借助第三方插件,页面就能播放多媒体。

5. canvas元素。脚本绘图,它的最终目标是flash般的动画展示和交互体验。不要以为很遥远,canvas在FireFox1.5就有了,opera,safari也是一样支持甚早(这个标签是就是苹果的发明)。

6. 表单处理功能。HTML5吸收了WHATWG之前的Web Forms 2.0。验证数据是如此简单。

7. 页面元素的拖曳和编辑。

8. HTML5的离线存储技术 http://dev.w3.org/html5/webstorage/
......

好了, HTML5能做的够多了,但他还处在草案阶段,那关键是现在我们能做什么呢?

我们能做什么?
HTML5估计能在2012年之前成为W3C的候选推荐标准,不过在这之前,只要浏览器支持,我们都可以使用html5的功能。

1. HTML5新元素布局。
除了ie系列浏览器外,其它大多数浏览器都能识别HTML5的那些新元素标签,可以对其进行style,这就意味着它们可以使用HTML5的新元素标签进行页面布局。
但问题是ie系列浏览器是无法对其不承认的元素添加样式的,而缺少了IE的支持,大多数人都会束手束脚。解决这个问题的方法早已经了:HTML5 Shiv
很简单:
  1. <script>
  2. document.createElement("元素名称")
  3. </script>
复制代码

创建文档元素。
批量创建的方法:
  1. (function(){
  2.         if(!/*@cc_on!@*/0) return;     
  3.         var html5 = "abbr,article,aside,audio,bb,canvas,datagrid,datalist,details,dialog,event,source,figure,footer,hgroup,header,mark,menu,meter,nav,output,progress,section,time,video".split(',');   
  4.         for(var i = 0, len = html5.length; i < len; i++ ) {        
  5.         document.createElement(html5[i]);   
  6.         }
  7. })
  8. ();
复制代码

现在在IE里也可以对HTML5元素进行布局了。
不过,在此之前,我们还需要对这些新元素定义基本的Display style,
这个工作本来一般是由浏览器完成的,比如FireFox的html.css。
现在只能自己对引进的HTML5元素进行定义了。
那么哪些需要定义成display:block;哪些又是不需要呢?这个我们可以看下W3C是怎么定义的:display-types
  1. address, article, aside, blockquote, body, center, dd, dialog, dir,
  2. div, dl, dt, figure, footer, form, h1, h2, h3, h4, h5, h6, header,
  3. hgroup, hr, html, legend, listing, menu, nav, ol, p, plaintext, pre,
  4. section, ul, xmp { display: block; }
复制代码

刨除HTML老元素,以下这些元素:
article,aside,dialog,figure,footer,header,hgroup,nav,section可以定义为{display:block;}
这篇针对HTML 5 Reset Stylesheet的文章也可以参考下: http://html5doctor.com/html-5-reset-stylesheet/。文章在Eric的CSS Reset的基础上考虑HTML5新元素及W3C规范推荐下对元素进行了style reset。当然reset CSS本身就存在争议的,一般来说,reset CSS是你自己的style,很多东西都可以按你的意愿来定,当然不要太偏离W3C的元素设计本意。
接下来,使用HTML5新元素进行布局就可以随心所欲了
(还是悠着点好,有些元素的使用会产生冲突。而且这种让ie支持的方法使得整个布局都是依靠于js的)。

 提示:您可以先修改部分代码再运行





2. Drag & drop
Drag & drop是浏览器支持度比较高的HTML5内容:

 提示:您可以先修改部分代码再运行




3. canvas
我们先看一些canvas的示例(不支持ie):
http://www.agustinfernandez.com.ar/proyectos/canvas/
http://www.whatwg.org/demos/2008-sept/color/color.html
网上还有一些互动性蛮强的Demo.
canvas应用的发展无疑将威胁到也行进在富Web之路上的Flash和Silverligth这些Web插件。

canvas在safari,firefox,opera很早就有了支持,但IE缺迟迟不予支持,尽管他在ie8中已经开始支持多个HTML5功能。MS的同志很有理由这么做:“HTML 5标准制定之前,某些功能确实已经得以实现,例如Google Gears实现了离线应用程序功能,Flash和silverlight实现了类似Canvas API的功能.在下一代HTML规范中设置这些内容未必非常必要”。要知道MS在silverlight是花了很大力气。事实上,MS在参与HTML5之事上一直非常谨慎,并且希望精简HTML5。
Flash的所有者,HTML5参与者之一Adobe则表现的很轻松:“canvas还很弱,HTML 5 + CSS 3 可能要 10年的时间才能定稿,在这期间,Flash 会持续发展,并提供更好的用户体验”。

尽管IE没有支持canvas功能,但我们可以使用JS模拟达到:
http://excanvas.sourceforge.net
这是其中的一个Demo,试试你的IE:
3Dcanvas_For_IE.html

4. audio and video
使用FireFox3.5看看下面这个Video Demo。

 提示:您可以先修改部分代码再运行


我们没有引入flash播放器就能播放swf。


在下面这个页面里罗列了各浏览器所支持的HTML5功能:
Implementations in Web browsers

随着浏览器的升级,翻新,他们支持的东西会越来越多,提供给我们前端工作者发挥的空间也越来越大。

文章blog地址:http://www.cssass.com/blog/index.php/2009/402.html

HTML5王者归来! coming back soon...  期待吧....

[ 本帖最后由 ONEBOYS 于 2009-9-9 14:40 编辑 ]
已有 1 人评分威望 收起 理由
birdstudio + 2 好文章。

总评分: 威望 + 2   查看全部评分

西部数码顶级域名注册商39元抢注!
帖子
44
体力
404
威望
0
居住地
广东省 东莞市
发表于 2009-9-9 15:08:08 |显示全部楼层
去掉了好多元素哦..
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

帖子
7047
体力
3688
威望
2
发表于 2009-9-9 15:28:24 |显示全部楼层
就上面的演示来看,如果没有易用的编辑器,那html5的这些新标签就是鸡肋,没有使用价值。
作为人,何谓正确。 http://goo.gl/eexPv

使用道具 举报

ONEBOYS 楼主

步舞之鹤

金牌会员 手机认证 

帖子
1859
体力
4403
威望
16
居住地
浙江省 杭州市
发表于 2009-9-9 15:42:26 |显示全部楼层

回复 2# ybfqlyq 的帖子

虽然一些元素不推荐使用,但也不会马上去除。
html5是向后兼容的(backwards)

使用道具 举报

ONEBOYS 楼主

步舞之鹤

金牌会员 手机认证 

帖子
1859
体力
4403
威望
16
居住地
浙江省 杭州市
发表于 2009-9-9 15:46:43 |显示全部楼层

回复 3# zhutianyi 的帖子

编辑器支不支持写法,无所谓吧。

关键是浏览器。

-----
随着,html5向web application的方向发展。
我觉得所见即所得编辑器,越来越没价值了。

使用道具 举报

帖子
7047
体力
3688
威望
2
发表于 2009-9-9 16:45:57 |显示全部楼层

回复 5# ONEBOYS [楼主] 的帖子

因为html5的一些新功能,其他语言都能实现,所以就有一个选择性的问题。就像我们选择是用fw还是ps做图片,是用css还是js实现自适应高度一样。哪个好用,哪个方便用哪个。

从兼容性上看,html5没有任何优势,和flash还是js都没法比。我觉得就算3年以后也未必有多少浏览器能兼容它的所有功能。
所以,如果在易用性上,html5的优势不能体现的话,那它有什么价值呢。
作为人,何谓正确。 http://goo.gl/eexPv

使用道具 举报

ONEBOYS 楼主

步舞之鹤

金牌会员 手机认证 

帖子
1859
体力
4403
威望
16
居住地
浙江省 杭州市
发表于 2009-9-9 17:37:19 |显示全部楼层
html5兼容html4和xhtml1
不知道你指的兼容性是什么。——是指不兼容浏览器,那没错。但只是目前,浏览器的更新会越来越快,越来越多的html5功能会被普及。

html5的一些新功能,其他语言(?)都能实现。
但假以时日,我想你会说:其他语言(?)能实现的,HTML5都能实现。

你说到了选择,我想:你会选择一大堆的div布局还是选择清晰明了的<header>等标签;你会选择一串的正则来验证表单还是使用一个html属性呢?——当然这些都尚需时日。

html是css和js及基于css,js开发的基石,可以说是基础的基础。
一个结构合理和拥有强大功能接口的基石,才能适应未来越来越强大的WEB应用需求。

html5同flash目前来说的确没法比。
如果html5同flash还稍微有些可比的地方的话,html5和js就压根没可比性了。——HTML5会让js越来越简单,因为它会提供强大的APIs,让Js实现效果一步到位。

使用道具 举报

帖子
7047
体力
3688
威望
2
发表于 2009-9-9 20:26:16 |显示全部楼层
关于标签,我不觉得<header>比<div class="header">强多少。而且语义标签也会遇到<header class="a b">等调用class的情况。

关于js效果一步到位,现在的js库多如牛毛了,全都是一步到位的。就html5的那几个特效在js面前有什么优势?
作为人,何谓正确。 http://goo.gl/eexPv

使用道具 举报

ONEBOYS 楼主

步舞之鹤

金牌会员 手机认证 

帖子
1859
体力
4403
威望
16
居住地
浙江省 杭州市
发表于 2009-9-10 12:24:24 |显示全部楼层
你不觉得<header>比<div class="header">强多少,那我就不说了。

不要拿js和HTML5比,HTML的强大才能让JS更强大。至于JS库,的确为各种web application做出过很大贡献,但每个库都是有局限和缺点的,发展HTML,对他们向更高层次发展也是绝对有利的。

使用道具 举报

帖子
1016
体力
3396
威望
1
发表于 2009-9-10 12:28:20 |显示全部楼层
原帖由 zhutianyi 于 2009-9-9 20:26 发表
关于标签,我不觉得比强多少。而且语义标签也会遇到等调用class的情况。

关于js效果一步到位,现在的js库多如牛毛了,全都是一步到位的。就html5的那几个特效在js面前有什么优势?



很重要的一点 div是构架标签 和html body 是一样的 没有语义
目标百人斩

使用道具 举报

帖子
137
体力
232
威望
0
居住地
河南省 郑州市
发表于 2011-4-5 16:03:32 |显示全部楼层
到现在都一年多了,html5正式的标准还没发布

使用道具 举报

鼎视视觉

银牌会员

帖子
413
体力
1030
威望
4
居住地
湖南省 常德市
发表于 2011-4-6 14:45:59 |显示全部楼层
好文章.
UGG 雪地靴 www.okgos.com

使用道具 举报

帖子
25
体力
79
威望
0
居住地
湖北省 武汉市
发表于 2011-11-4 23:25:35 |显示全部楼层
有价值    值得学习啊

使用道具 举报

帖子
23
体力
89
威望
0
发表于 2011-11-7 20:43:25 |显示全部楼层
值得学习参考,可是html5好多浏览器都不支持呃,尤其是我们大部分人钟情的IE6,就更不支持了,唉。。。

使用道具 举报

往事如蜂

银牌会员 手机认证 

帖子
1523
体力
1361
威望
0
发表于 2011-11-7 21:01:01 |显示全部楼层
2022年html5标准才会完成,所以么,那个时候的web前端工程师,你们是幸福的。
再见了,蓝色理想...

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-11 19:03 , Processed in 0.099214 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部