眾所周知,HTML是互聯(lián)網(wǎng)有史以來(lái)最偉大的發(fā)明。這種超文本標(biāo)記語(yǔ)言實(shí)際上是現(xiàn)代互聯(lián)網(wǎng)發(fā)展的一個(gè)基石,以它為中心出現(xiàn)了一個(gè)獨(dú)特的自給自足的體系。
當(dāng)開(kāi)發(fā)HTML5時(shí),它的設(shè)計(jì)者們正面對(duì)著一些很重要的問(wèn)題,希望能在HTML5里解決。其中的一個(gè)問(wèn)題是,要?jiǎng)?chuàng)建一個(gè)真正簡(jiǎn)潔明了而且易于擴(kuò)展的語(yǔ)義。 目前這個(gè)問(wèn)題中棘手的部分是老版本的HTML當(dāng)時(shí)是以功能多樣的理念為目標(biāo)設(shè) – 大量的各種各樣的標(biāo)記,當(dāng)時(shí)認(rèn)為都是一些基本的標(biāo)記,但如今證明完全是沒(méi)有什么用途的。HTML5的目的就是要根據(jù)目前互聯(lián)網(wǎng)的狀況對(duì)其進(jìn)行改進(jìn)。
HTML5 的新標(biāo)記
設(shè)計(jì)者們需要完成的任務(wù)是要給HTML5開(kāi)發(fā)一個(gè)更豐富的和更有含義的語(yǔ)義 – 當(dāng)然可以想象這種新方案將會(huì)是很靈活和很高效的,同時(shí)與所有的現(xiàn)代互聯(lián)網(wǎng)標(biāo)準(zhǔn)相適應(yīng)。下面就是一些將要在HTML5里新加入的標(biāo)記.
<article> 標(biāo)記 定義一篇文章
<aside> 標(biāo)記 定義頁(yè)面內(nèi)容部分的側(cè)邊欄
<audio> 標(biāo)記 定義音頻內(nèi)容
<canvas> 標(biāo)記 定義圖片
<command> 標(biāo)記 定義一個(gè)命令按鈕
<datalist> 標(biāo)記 定義一個(gè)下拉列表
<details> 標(biāo)記 定義一個(gè)元素的詳細(xì)內(nèi)容
<dialog> 標(biāo)記 定義一個(gè)對(duì)話(huà)框(會(huì)話(huà)框)
<embed> 標(biāo)記 定義外部的可交互的內(nèi)容或插件
<figure> 標(biāo)記 定義一組媒體內(nèi)容以及它們的標(biāo)題
<footer> 標(biāo)記 定義一個(gè)頁(yè)面或一個(gè)區(qū)域的底部
<header> 標(biāo)記 定義一個(gè)頁(yè)面或一個(gè)區(qū)域的頭部
<hgroup> 標(biāo)記 定義文件中一個(gè)區(qū)塊的相關(guān)信息
<keygen> 標(biāo)記 定義表單里一個(gè)生成的鍵值
<mark> 標(biāo)記 定義有標(biāo)記的文本
<meter> 標(biāo)記 定義 measurement within a
predefined range
<nav> 標(biāo)記 定義導(dǎo)航鏈接
<output> 標(biāo)記 定義一些輸出類(lèi)型
<progress> 標(biāo)記 定義任務(wù)的過(guò)程
<rp> 標(biāo)記是用在Ruby annotations 告訴那些不支持 Ruby 元素的瀏覽器如何去顯示
<rt> 標(biāo)記 定義對(duì)ruby
annotations的解釋
<ruby> 標(biāo)記 定義 ruby annotations.
<section> 標(biāo)記 定義一個(gè)區(qū)域
<source> 標(biāo)記 定義媒體資源
<time> 標(biāo)記 定義一個(gè)日期/時(shí)間
<video> 標(biāo)記 定義一個(gè)視頻
希望所有的這些標(biāo)記都能成為真正”有生命力“的和有用的標(biāo)記,而不是只是今天看來(lái)是很酷的標(biāo)記。
HTML5 的減負(fù) – 舊的標(biāo)記,永別了…
你是否很記得那個(gè)古老的年代,HTML3被當(dāng)成一種只能在Netscape里運(yùn)行的神奇的東西?是的,那就是互聯(lián)網(wǎng)時(shí)代的黎明初現(xiàn)。我們當(dāng)然不會(huì)忘記那段歷史,但向一些優(yōu)秀的卻陳舊的東西說(shuō)再見(jiàn)也是合乎情理的(特別是當(dāng)它們目前不被認(rèn)為那么好用,或已沒(méi)有人再注意它們的時(shí)候時(shí))。
因此,HTML5的設(shè)計(jì)者們廢除了一些老的標(biāo)記,因?yàn)檫@些標(biāo)準(zhǔn)只有那些HTML怪才才會(huì)使用,也因?yàn)檫@些標(biāo)記已經(jīng)完全失去用處,新的HTML標(biāo)記里將不會(huì)再包括它們 – 我想我們應(yīng)該就此感謝這些設(shè)計(jì)者們。 畢竟是這些標(biāo)記實(shí)在是太老舊了,以至于可以想象,20年后我們的孩子們會(huì)認(rèn)為只有莎士比亞在他的十四行詩(shī)里才會(huì)用到。不管怎樣,還是讓我們到互聯(lián)網(wǎng)博物館里再看它們一眼吧(真有這樣的博物館嗎?)。
<acronym> 標(biāo)記 定義 an acronym.
<applet> 標(biāo)記 定義 an embedded applet.
<basefont> tag specifies a default
font-color, font-size, or font-family for all the text in a document.
<big> tag is used to format the text one
size bigger, and can be in relation to your <font> or
<basefont> size, if you’ve specified either one.
<center> tag is used to center text.
<dir> tag is used to list directory titles.
<font> tag specifies the font face, font
size, and font color of text.
<frame> 標(biāo)記 定義 one particular window
(frame) within a frameset.
<frameset> 標(biāo)記 定義 a frameset. The
frameset element holds two or more frame elements. Each frame element
holds a separate document.
<s> and <strike> tags
define strikethrough text.
<tt> tag is used for “typetype” text, or
fixed-width typewriter-type font. Other than the different type style,
it has normal font characteristics
<u> tag is used to underline text.
這些標(biāo)記基本上都沒(méi)有什么用處了(也許你會(huì)覺(jué)得有幾個(gè)標(biāo)記和HTML5里的新標(biāo)記有些相似)。其中一些我們?cè)谠缙诘呐f版的瀏覽器里使用過(guò),但如今已經(jīng)失去其作用,而另一些標(biāo)記的功能已經(jīng)被CSS功能所取代了(例如設(shè)置字體和文本樣式的標(biāo)記)。
關(guān)于 <DIV> 標(biāo)記的重要問(wèn)題
使用新標(biāo)記替換掉 <div> 標(biāo)記是HTML5在語(yǔ)義方面的主要成就。這 <div> 標(biāo)記是HTML4里是一個(gè)重要的(現(xiàn)在仍是)的標(biāo)記,在HTML里被廣泛使用,但是它所表達(dá)的語(yǔ)義太弱,在聲明網(wǎng)頁(yè)組織結(jié)構(gòu)里不同的區(qū)塊的任務(wù)面前它毫無(wú)用武之地。新的HTML5標(biāo)記 – 例如 <article>, <aside>, <nav>, <figure>, <header>, <footer> – 會(huì)更有用和更方便,這些標(biāo)記能夠讓你指明網(wǎng)頁(yè)不同區(qū)域的用途,清楚的顯示網(wǎng)站的結(jié)構(gòu)。這意味著即使你是個(gè)新手或中等的程序員,僅依據(jù)HTML代碼就能清楚的了解整個(gè)頁(yè)面的結(jié)構(gòu) – 更值得一提的是搜索引擎將會(huì)因?yàn)槟苋绱朔奖愕慕馕鲰?yè)面的結(jié)構(gòu)而會(huì)高興的發(fā)狂的。
對(duì)我們有什么好處?
關(guān)于新標(biāo)記和語(yǔ)義的價(jià)值的討論已經(jīng)很多,有些人認(rèn)為這些語(yǔ)義以及可視化表現(xiàn)方式?jīng)]有任何意義 – 因?yàn)樗鼈儙?lái)的是更復(fù)雜的代碼,創(chuàng)造了使用這些新HTML代碼犯新錯(cuò)誤的機(jī)會(huì),HTML5新語(yǔ)義的價(jià)值在于提升了網(wǎng)站用戶(hù)和這些技術(shù)之間的交互和協(xié)作的水平,這是使互聯(lián)網(wǎng)前進(jìn)的原因。
同樣的道理 – 我們應(yīng)該明白,就像HTML5給我們的感覺(jué)是那樣酷一樣,人們?cè)谄渖细冻隽撕芏嗟呐?,?duì)未來(lái)5年互聯(lián)網(wǎng)的發(fā)展寄予厚望。 今天,這些新標(biāo)記和語(yǔ)義看起來(lái)的確是很棒,我們都很喜歡,但別忘了,任何東西都是在不斷變化著來(lái)適應(yīng)人們的需求,新的語(yǔ)言特征必須依賴(lài)于人們的使用,互聯(lián)網(wǎng)社區(qū)的大量使用 – 只有這樣才能使單純的新事物變成有用的新事物。