這篇文章主要介紹了HTML5常見(jiàn)的錯(cuò)誤用法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
銀州網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),銀州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為銀州1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的銀州做網(wǎng)站的公司定做!
人們?cè)跇?biāo)簽使用中最常見(jiàn)到的錯(cuò)誤之一就是隨意將HTML5的<section>等價(jià)于<div>——具體地說(shuō),就是直接用作替代品(用于樣式)。在XHTML或者HTML4中,我們??吹竭@樣的代碼:
<!-- HTML 4-style code --><div id="wrapper"> <div id="header"> <h2>My super duper page</h2> Header content </div> <div id="main"> Page content </div> <div id="secondary"> Secondary content </div> <div id="footer"> Footer content </div></div>
而現(xiàn)在在HTML5中,會(huì)是這樣:
請(qǐng)不要復(fù)制這些代碼!這是錯(cuò)誤的!
<section id="wrapper"> <header> <h2>My super duper page</h2> <!-- Header content --> </header> <section id="main"> <!-- Page content --> </section> <section id="secondary"> <!-- Secondary content --> </section> <footer> <!-- Footer content --> </footer></section>
這樣使用并不正確:**
并不是樣式容器。**section元素表示的是內(nèi)容中用來(lái)幫助構(gòu)建文檔概要的語(yǔ)義部分。它應(yīng)該包含一個(gè)頭部。如果你想找一個(gè)用作頁(yè)面容器的元素(就像HTML或者XHTML的風(fēng)格),那么考慮如Kroc Camen所說(shuō),直接把樣式寫(xiě)到body元素上吧。如果你仍然需要額外的樣式容器,還是繼續(xù)使用div吧。
基于上述思想,下面才是正確的使用HTML5和一些ARIA roles特性的例子(注意,根據(jù)你自己的設(shè)計(jì),你也可能需要加入div)
<section id="wrapper"> <header> <h2>My super duper page</h2> <!-- Header content --> </header> <section id="main"> <!-- Page content --> </section> <section id="secondary"> <!-- Secondary content --> </section> <footer> <!-- Footer content --> </footer></section>
這樣使用并不正確:**
并不是樣式容器。**section元素表示的是內(nèi)容中用來(lái)幫助構(gòu)建文檔概要的語(yǔ)義部分。它應(yīng)該包含一個(gè)頭部。如果你想找一個(gè)用作頁(yè)面容器的元素(就像HTML或者XHTML的風(fēng)格),那么考慮如Kroc Camen所說(shuō),直接把樣式寫(xiě)到body元素上吧。如果你仍然需要額外的樣式容器,還是繼續(xù)使用div吧。
基于上述思想,下面才是正確的使用HTML5和一些ARIA roles特性的例子(注意,根據(jù)你自己的設(shè)計(jì),你也可能需要加入div)
<body><header> <h2>My super duper page</h2> <!-- Header content --></header><div role="main"> <!-- Page content --></div><aside role="complementary"> <!-- Secondary content --></aside><footer> <!-- Footer content --></footer></body>
二、只在需要的時(shí)候使用header和hgroup
寫(xiě)不需要寫(xiě)的標(biāo)簽當(dāng)然是毫無(wú)意義的。不幸的是,我經(jīng)??吹絟eader和hgroup被無(wú)意義的濫用。你可以閱讀一下關(guān)于header和hgroup元素的兩篇文章做一個(gè)詳細(xì)的了解,其中內(nèi)容我簡(jiǎn)單總結(jié)如下:
header元素表示的是一組介紹性或者導(dǎo)航性質(zhì)的輔助文字,經(jīng)常用作section的頭部
當(dāng)頭部有多層結(jié)構(gòu)時(shí),比如有子頭部,副標(biāo)題,各種標(biāo)識(shí)文字等,使用hgroup將h2-h7元素組合起來(lái)作為section的頭部
header的濫用
由于header可以在一個(gè)文檔中使用多次,可能使得這樣代碼風(fēng)格受到歡迎:
請(qǐng)不要復(fù)制這段代碼!此處并不需要header –> <header> <h2>My best blog post</h2> </header> <!-- Article content --></article>
如果你的header元素只包含一個(gè)頭部元素,那么丟棄header元素吧。既然article元素已經(jīng)保證了頭部會(huì)出現(xiàn)在文檔概要中,而header又不能包含多個(gè)元素(如上文所定義的),那么為什么要寫(xiě)多余的代碼。簡(jiǎn)單點(diǎn)寫(xiě)成這樣就行了:
<article> <h2>My best blog post</h2> <!-- Article content --></article>
的錯(cuò)誤使用
在headers這個(gè)主題上,我也經(jīng)??吹絟group的錯(cuò)誤使用。有時(shí)候不應(yīng)該同時(shí)使用hgroup和header:
如果只有一個(gè)子頭部
如果hgroup自己就能工作的很好。。。這不廢話么
第一個(gè)問(wèn)題一般是這樣的:
請(qǐng)不要復(fù)制這段代碼!此處不需要hgroup –> <hgroup> <h2>My best blog post</h2> </hgroup> <p>by Rich Clark</p></header>
此例中,直接拿掉hgroup,讓heading果奔吧。
<header> <h2>My best blog post</h2> <p>by Rich Clark</p></header>
第二個(gè)問(wèn)題是另一個(gè)不必要的例子:
請(qǐng)不要復(fù)制這段代碼!此處不需要header –> <hgroup> <h2>My company</h2> <h3>Established 1893</h3> </hgroup></header>
如果header唯一的子元素是hgroup,那還要header干神馬?如果header中沒(méi)有其他的元素(比如多個(gè)hgroup),還是直接拿掉header吧。
<hgroup> <h2>My company</h2> <h3>Established 1893</h3></hgroup>
三、不要把所有列表式的鏈接放在nav里
隨著HTML5引入了30個(gè)新元素(截止到原文發(fā)布時(shí)),我們?cè)跇?gòu)造語(yǔ)義化和結(jié)構(gòu)化的標(biāo)簽時(shí)的選擇也變得有些不慎重。也就是說(shuō),我們不應(yīng)該濫用超語(yǔ)義化的元素。不幸的是,nav就是這樣一個(gè)被濫用的例子。nav元素的規(guī)范描述如下:
nav元素表示頁(yè)面中鏈接到其他頁(yè)面或者本頁(yè)面其他部分的區(qū)塊;包含導(dǎo)航連接的區(qū)塊。
注意:不是所有頁(yè)面上的鏈接都需要放在nav元素中——這個(gè)元素本意是用作主要的導(dǎo)航區(qū)塊。舉個(gè)具體的例子,在footer中經(jīng)常會(huì)有眾多的鏈接,比如服 務(wù)條款,主頁(yè),版權(quán)聲明頁(yè)等等。footer元素自身已經(jīng)足以應(yīng)付這些情況,雖然nav元素也可以用在這里,但通常我們認(rèn)為是不必要的。
關(guān)鍵的詞語(yǔ)是“主要的”導(dǎo)航。當(dāng)然我們可以互相噴上一整天什么叫做“主要的”。而我個(gè)人是這樣定義的:
主要的導(dǎo)航
站內(nèi)搜索
二級(jí)導(dǎo)航(略有爭(zhēng)議)
頁(yè)面內(nèi)導(dǎo)航(比如很長(zhǎng)的文章)
既然并沒(méi)有絕對(duì)的對(duì)錯(cuò),所以根據(jù)一個(gè)非正式投票以及我自己的解釋?zhuān)韵碌那闆r,不管你放不放,我反正不放在中:
分頁(yè)控制
社交鏈接(雖然有些社交鏈接也是主要導(dǎo)航,比如“關(guān)于”“收藏”)
博客文章的標(biāo)簽
博客文章的分類(lèi)
三級(jí)導(dǎo)航
過(guò)長(zhǎng)的footer
如果你不確定是否要將一系列的鏈接放在nav中,問(wèn)你自己:“它是主要的導(dǎo)航嗎?”為了幫助你回答這個(gè)問(wèn)題,考慮以下首要原則:
如果使用section和hx也同樣合適,那么不要用nav — Hixie on IRC
為了方便訪問(wèn),你會(huì)在某個(gè)“快捷跳轉(zhuǎn)”中給這個(gè)nav標(biāo)簽加一個(gè)鏈接嗎?
如果這些問(wèn)題的答案是“不”,那就跟鞠個(gè)躬,然后獨(dú)自離開(kāi)吧。
相信看了這些案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享HTML5常見(jiàn)的錯(cuò)誤用法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!
網(wǎng)站題目:HTML5常見(jiàn)的錯(cuò)誤用法
網(wǎng)站路徑:http://chinadenli.net/article8/pgppop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、虛擬主機(jī)、網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)