自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HTML 5與瀏覽器們不得不說(shuō)的故事

原創(chuàng)
開(kāi)發(fā) 前端
HTML 5在Web領(lǐng)域的影響可以說(shuō)是革命性的。這是HTML標(biāo)準(zhǔn)在最近10年間最重要的一次更新,在為Web開(kāi)發(fā)者帶來(lái)大量驚喜之時(shí),對(duì)瀏覽器領(lǐng)域也將造成深遠(yuǎn)的影響。本文對(duì)HTML 5的歷史做了簡(jiǎn)單的回顧,大致介紹了其特性,并描述了其為瀏覽器領(lǐng)域帶來(lái)的一些變革。

【51CTO 1月7日外電頭條】最近10年以來(lái)HTML一直在試圖成為一個(gè)更好的RIA解決方案。最初是CSS,后來(lái)又有了AJAX和Web 2.0;但是直到HTML 5迅速發(fā)展之后,Adobe Flash、微軟Silverlight和HTML之間的界線才開(kāi)始逐漸變得模糊。本篇文章將介紹新的HTML 5標(biāo)準(zhǔn),諸如Canvas、Video和大幅改進(jìn)的CSS。更重要的是,你將了解到應(yīng)該使用哪一個(gè)瀏覽器才能充分利用最新HTML 5技術(shù)。

51CTO編輯推薦:HTML 5 下一代Web開(kāi)發(fā)標(biāo)準(zhǔn)詳解

HTML 5:成長(zhǎng)的故事

1997年,萬(wàn)維網(wǎng)聯(lián)盟(W3C)發(fā)布了HTML 4.0,它是影響Web設(shè)計(jì)者和開(kāi)發(fā)者的最近一個(gè)重大版本。盡管幾年后推出了XHTML,但并未帶來(lái)多大影響。在最近10多年中,HTML標(biāo)準(zhǔn)一直處于停滯狀態(tài)。

在過(guò)去10年中,AJAX和Web 2.0技術(shù)已經(jīng)非常普遍。不過(guò),實(shí)現(xiàn)吸引人的新體驗(yàn)往往必須借助于一個(gè)插件來(lái)實(shí)現(xiàn),諸如Adobe的Flash。2004年,WHATWG(網(wǎng)絡(luò)超文本應(yīng)用技術(shù)工作組)組織開(kāi)始研發(fā)一個(gè)名為Web Application 1.0的項(xiàng)目,后來(lái)該項(xiàng)目更名為HTML 5,現(xiàn)在被W3C所支持。

據(jù)稱(chēng)HTML 5是HTML標(biāo)準(zhǔn)史上最重大和最復(fù)雜的一次升級(jí)。理由很簡(jiǎn)單,它需要應(yīng)對(duì)Flash、Silverlight和JavaFX等技術(shù)的挑戰(zhàn),否則將淪為一個(gè)次要技術(shù)。交互性和富體驗(yàn)應(yīng)用將專(zhuān)門(mén)由第三方插件來(lái)處理。

HTML 5標(biāo)準(zhǔn)尚處于發(fā)展之中,還需要兩年時(shí)間才能推出草案(51CTO編者注:HTML 5最新的時(shí)間表在之前的《HTML 5捷報(bào)頻傳 三年后將廣泛應(yīng)用》一文中有比較詳細(xì)的介紹,該文還闡述了可能會(huì)影響HTML 5發(fā)布進(jìn)度的一些因素),其包含的部分主要技術(shù)包括:新HTML元素和屬性;自帶支持Video和Audio功能;Canvas和SVG實(shí)現(xiàn)可編程繪圖操作;CSS 3;JavaScript 2.0。預(yù)計(jì)將來(lái)還有可能增加更多部分。

基礎(chǔ)元素

在HTML 5中,很多對(duì)核心元素的修改是為了讓用戶更有效的控制顯示在屏幕上的數(shù)據(jù)。和以前支持PRE、FONT和BlINK等格式元素的早期HTML標(biāo)準(zhǔn)不同的是,HTML 5中的許多新元素目的是讓用戶更有效的組織在HTML代碼中的內(nèi)容。

在網(wǎng)頁(yè)代碼首行添加如下代碼即可表示其屬于HTML 5代碼:

  1. <!DOCTYPE HTML> 
  2.  

HTML 5的主要新元素包括:Header、Footer、Section、Article和Aside。當(dāng)用戶設(shè)計(jì)一個(gè)頁(yè)面時(shí),能夠直觀地在屏幕不同部分放置內(nèi)容。示例頁(yè)面圖如下:

HTML 5

使用Header和Footer等新HTML 5元素,用戶可以準(zhǔn)確的描述其內(nèi)容,例如,以下是符合要求的HTML 5代碼:

  1. <!DOCTYPE HTML> 
  2. <html> 
  3. <head> 
  4.  <title>Title of the document</title> 
  5. </head> 
  6. <body> 
  7.  <header>Add Search Engine and main links </header> 
  8.  <section> 
  9.   <article>The first article goes here</article> 
  10.   <article>The second article goes here</article> 
  11.   <article>The third article goes here</article> 
  12.   <aside>A side bar definition goes here</aside> 
  13.  </section> 
  14.  <footer>Copyright Matthew David 2010</footer> 
  15. </body> 
  16. </html> 
  17.  

使用這些新元素可以讓用戶獲得兩大優(yōu)勢(shì):使HTML代碼更易讀;搜索引擎可以理解頁(yè)面中內(nèi)容的價(jià)值。舉例來(lái)說(shuō),相比Footer元素中的內(nèi)容,article元素下的內(nèi)容可以更優(yōu)先被建立索引。

另外,HTML 5還支持VIDEO、AUDIO和CANVAS等新元素,可以讓用戶增加復(fù)雜的富體驗(yàn)媒體內(nèi)容,來(lái)挑戰(zhàn)Flash和Silverlight等RIA技術(shù)。(51CTO參考閱讀:HTML 5中將被舍棄以及將被強(qiáng)化的元素

作為一等公民探索Video和Audio

現(xiàn)在互聯(lián)網(wǎng)上視頻資源眾多,為了解決這種用戶需求,HTML 5包含了對(duì)兩個(gè)新元素的支持:Video和Audio,使用Video元素非常簡(jiǎn)單,如下所示:

  1. <video src="myMovie.ogg"></video> 
  2.  

而且你還可以對(duì)Video元素使用自動(dòng)播放、播放控制、寬高度和循環(huán)播放等屬性。Audio也非常容易添加,以下HTML代碼播放一個(gè)音頻文件。

  1. <audio src="sampleSong.ogg" controls="controls"> 
  2.  

在HTML 5之前,用戶必須組合使用OBJECT和EMBED元素來(lái)增加視頻到頁(yè)面中,而且需要插件支持,諸如Adobe的Flash。而HTML 5則試圖通過(guò)直接增加視頻CODEC(編解碼器)到瀏覽器中,而繞開(kāi)Windows   Media Player、Flash或DIVX插件,通過(guò)編解碼器技術(shù)可以把一個(gè)大視頻文件轉(zhuǎn)化成許多更小的流格式文件。目前HTML 5支持兩個(gè)編解碼器標(biāo)準(zhǔn):H.264視頻標(biāo)準(zhǔn)和開(kāi)源視頻編碼Ogg,它們實(shí)現(xiàn)的視頻質(zhì)量并不差,而且無(wú)專(zhuān)利權(quán)限制。

谷歌的Chrome、蘋(píng)果的Safari和火狐3.6支持HTML 5的VIDEO和AUDIO元素。

使用Canvas繪畫(huà)

過(guò)去如果用戶希望開(kāi)發(fā)RIA應(yīng)用,可能要被迫使用Java等插件技術(shù)。HTML 5限制支持一個(gè)名為CANVAS的新富體驗(yàn)媒體元素,讓用戶可以無(wú)需插件就實(shí)現(xiàn)RIA體驗(yàn),它可以讓用戶以編程方式繪制2D圖像。

CANVAS元素主要依賴(lài)JavaScript來(lái)實(shí)現(xiàn)繪圖?;镜腃ANVAS元素包含寬度、高度和ID屬性,如下所示:

  1. <canvas id="myCanvas" width="500" height="500"></canvas> 
  2.  

我們可以使用如下JavaScript代碼來(lái)描述CANVAS內(nèi)容:

  1. <script type="text/javascript"> 
  2. function draw(){  
  3.   var canvas = document.getElementById('myCanvas');  
  4.   if (canvas.getContext){  
  5.     var defineContext = canvas.getContext('2d');  
  6.    }  
  7. }  
  8. </script>   
  9.  

CANVAS元素還在繼續(xù)發(fā)展。2009年早些時(shí)候,Mozilla提出了CANVAS 3D,能夠無(wú)需插件在頁(yè)面中展示3D模型。

在HTML 5中使用CSS 3

在HTML 5中,元素被用來(lái)在描述層面上安排和規(guī)劃內(nèi)容。這并不意味著頁(yè)面會(huì)非常美觀。頁(yè)面上內(nèi)容的展現(xiàn)還要通過(guò)CSS 3來(lái)控制。但是,使用CSS 3來(lái)描述頁(yè)面外觀并非是HTML 5首創(chuàng)。CSS技術(shù)最初在1997年亮相,目前在HTML 5中是其第三個(gè)主要版本。幸運(yùn)的是,CSS 3向前兼容CSS 1和CSS 2。

CSS 3引入了許多用戶可以在頁(yè)面上使用的新設(shè)計(jì)工具,其中部分包括:嵌入式字體、陰影和動(dòng)畫(huà)。

HTML 5采用新技術(shù)來(lái)支持真正的字體嵌入。其中三種值得推薦的潛入字體標(biāo)準(zhǔn)是:TrueType、OpenType和Scalable Vector Graphic Fonts。

另外,用戶還可以增加陰影效果。陰影效果一直是圖形化設(shè)計(jì)工具的重要一部分?,F(xiàn)在用戶通過(guò)使用CSS3可以輕松對(duì)文本和對(duì)象添加陰影效果,以下CSS定義是陰影效果示例代碼之一:

  1. .dropShadow {  
  2.   font-family"Segoe UI"Tahoma, Geneva, Verdana;  
  3.   font-sizemedium;  
  4.   color#CC3300;  
  5.   text-shadow0.25em 0.25em 2px #999;  
  6. }  
  7.  

現(xiàn)在普通的頁(yè)面已經(jīng)不能滿足用戶需求。添加可視化交互元素是必須的。為了解決這個(gè)問(wèn)題,CSS 3包含了對(duì)動(dòng)畫(huà)的支持。以下HTML和CSS 3樣式允許用戶在屏幕上增加一個(gè)跳動(dòng)的文本塊:

  1. <html> 
  2.  <head> 
  3.  <title>Bouncing Box example</title> 
  4.  <style type="text/css" media="screen"> 
  5.   @-webkit-keyframes bounce {  
  6.     from {  
  7.       left: 0px;  
  8.      }  
  9.     to {  
  10.       left: 400px;  
  11.      }  
  12.    }  
  13.   .animation {  
  14.     -webkit-animation-name: bounce;  
  15.     -webkit-animation-duration: 2s;  
  16.     -webkit-animation-iteration-count: 4;  
  17.     -webkit-animation-direction: alternate;  
  18.     position: relative;  
  19.     left: 0px;  
  20.    }  
  21.  </style> 
  22.  </head> 
  23.  <body> 
  24.  <p class="animation"> 
  25.  The text bounces back and forth  
  26.  </p> 
  27.  </body> 
  28. </html> 
  29.  

動(dòng)畫(huà)的控制是通過(guò)使用樣式表完成的。主要從兩方面進(jìn)行控制,首先是動(dòng)畫(huà)的類(lèi)型;其次是動(dòng)畫(huà)的對(duì)象。

目前該示例代碼僅能運(yùn)行在最新版Safari瀏覽器和谷歌Chrome瀏覽器中。有關(guān)CSS 3的具體情況,可參考51CTO之前的譯文《CSS 3中的炫目新功能搶先預(yù)覽》。

瀏覽器對(duì)HTML 5的支持情況

目前用戶使用的Web瀏覽器大體可化為兩類(lèi):一是現(xiàn)代Web瀏覽器,其中包括Mozilla的火狐、蘋(píng)果的Safari、谷歌的Chrome和Opera瀏覽器;二是微軟的IE瀏覽器。

火狐建建立在開(kāi)源Ghecko瀏覽器引擎之上。同樣,Safari和Chrome使用了開(kāi)源WebKit瀏覽器引擎。這兩類(lèi)瀏覽器都使用了第三方開(kāi)源項(xiàng)目Cairo來(lái)展現(xiàn)諸如CANVAS、CSS和HTML 5等可視化元素。這三個(gè)瀏覽器之所以能夠快速采用新標(biāo)準(zhǔn),與它們背后支持開(kāi)源項(xiàng)目的公司有直接關(guān)系(51CTO編輯注:這些公司即Google、Opera以及Mozilla,還有蘋(píng)果),而且這些公司有小部分工程師可以投身于WebKit等項(xiàng)目。令人驚訝的是,像Opera這樣的小公司也能夠與谷歌和蘋(píng)果在支持標(biāo)準(zhǔn)方面相媲美。

#t#另一個(gè)陣營(yíng)的代表是微軟。自從上世界90年代以來(lái),微軟一直統(tǒng)治著Web世界。盡管其瀏覽器市場(chǎng)份額不斷下滑,但依然有超過(guò)65%的網(wǎng)民選擇使用IE瀏覽器。更令人吃驚的是,大約有26%用戶依然在使用具有8年歷史的IE6。問(wèn)題是微軟最新的瀏覽器版本IE 8不支持任何HTML 5功能,它不支持CANVAS、VIDEO或CSS 3。不過(guò),微軟已經(jīng)開(kāi)始改變其對(duì)HTML 5的態(tài)度,2009年夏天微軟加入了對(duì)HTML 5標(biāo)準(zhǔn)的討論,而且在2009年P(guān)DC大會(huì)上演示了一個(gè)支持HTML 5功能早期版IE9。

除了桌面計(jì)算機(jī)之外,另外一個(gè)支持HTML 5的領(lǐng)域是手機(jī)設(shè)備。在蘋(píng)果iPhone和谷歌Android的帶領(lǐng)下,智能手機(jī)市場(chǎng)已經(jīng)呈現(xiàn)爆炸式增長(zhǎng)。這兩類(lèi)手機(jī)的Web瀏覽器都是使用WebKit的分支項(xiàng)目,因此完全支持HTML 5。

很明顯,HTML 5依然很長(zhǎng)的路需要走。它將被越來(lái)越多地應(yīng)用在手機(jī)、平板電腦和上網(wǎng)本中。PC市場(chǎng)可能將繼續(xù)被IE瀏覽器所壟斷,不過(guò)下一版本的IE將支持HTML 5。當(dāng)然,如果你想提前體驗(yàn)HTML 5功能,你可以使用最新版的火狐、Chrome或Safari。

原文:Inside HTML 5: The Browser becomes a first class RIA citizen  作者:Matthew David

責(zé)任編輯:yangsai 來(lái)源: 51CTO.com
相關(guān)推薦

2020-06-15 08:19:00

ZooKeeperEureka

2024-02-04 00:00:03

運(yùn)維Linux磁盤(pán)

2014-10-21 11:05:52

英特爾Linux

2019-12-24 14:04:59

PythonExcel數(shù)據(jù)處理

2011-09-08 14:24:57

51cto 51CTO

2015-08-31 14:12:12

DockerKubernetesPaaS

2019-11-14 15:38:46

AndroidRelease項(xiàng)目

2019-10-18 17:55:03

安全運(yùn)營(yíng)

2009-06-17 17:53:01

HTML 5Flash

2018-09-17 15:30:39

區(qū)塊鏈金融行業(yè)支付

2019-10-21 10:18:29

區(qū)塊鏈大數(shù)據(jù)

2013-03-29 12:24:35

ShareSDK51CTO網(wǎng)易

2010-08-27 10:37:43

無(wú)線標(biāo)準(zhǔn)WAPI

2010-05-26 15:17:06

Windows Emb

2011-04-26 09:44:05

Power Cloud

2018-08-06 11:59:00

混合云數(shù)據(jù)中心上云

2018-07-20 22:22:21

紅帽混合云API

2016-12-06 08:35:47

瀏覽器內(nèi)核Gecko

2014-04-15 10:18:24

中文女工科男

2015-01-16 16:44:50

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)