1. 程式人生 > >淺談html與HTML5的區別?

淺談html與HTML5的區別?

        今天有人問我了,你經常用html5還是html?emmm......其實自己在平時寫網頁時,對這兩者沒有特意區分。如果非要說區別的話,顯而易見的區別就是下面我列出來的這些了。至於往深層次理解了:HTML5已經遠遠超越了標記語言的範疇,其背後是一組技術集。小白學習太淺,不敢多講。>.<

1.文件的型別宣告不同

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

html5:文件宣告相對來說更為簡便,有利於程式設計師快速閱讀和開發。<!DOCTYPE html>

2.語義結構方面

html:沒有結構語義化的標籤(通俗來講就是不方便閱讀,沒有告訴你哪裡是頭,哪裡是尾巴)

html5:添加了許多具有語義化的標籤,

使程式碼結構清晰,提高了程式碼的可讀性。

下面是html5中的一些語義化標籤:

< title></title>:簡短、描述性、唯一(提升搜尋引擎排名)

<hn></hn>:h1~h6分級標題,用於建立頁面資訊的層級關係。

<header></header>:頁首通常包括網站標誌、主導航、全站連結以及搜尋框。

也適合對頁面內部一組介紹性或導航性內容進行標記。

<nav></nav>:標記導航,僅對文件中重要的連結群使用。

<main></main>:頁面主要內容,一個頁面只能使用一次。如果是web應用,則包圍其主要功能。

<article></article>:表示文件、頁面、應用或一個獨立的容器.

<section></section>:具有相似主題的一組內容,比如網站的主頁可以分成介紹、新聞條目、聯絡資訊等條塊。

<aside></aside>:指定附註欄,包括引述、側欄、指向文章的一組連結、廣告、友情連結、相關產品列表等。

<footer></footer>:頁尾,只有當父級是body時,才是整個頁面的頁尾。

<small></small>:指定細則,輸入免責宣告、註解、署名、版權。

只適用於短語,不要用來標記“使用條款”、“隱私政策”等長的法律宣告。

<strong></strong>:表示內容重要性。

<em></em>:標記內容著重點(大量用於提升段落文字語義)。

<mark></mark>:突出顯示文字(yellow),提醒讀者。

在HTML5中em是表示強調的唯一元素,而strong則表示重要程度。

<b></b>:出於實用目的提醒讀者的一塊文字,不傳達任何額外的重要性

<i></i>:不同於其他文字的文字= =|||這個翻譯真的是······

<figure></figure>:建立圖(預設有40px左右margin)。

<figcaption></figcaption>:figure的標題,必須是figure內嵌的第一個或者最後一個元素。

<cite></cite>:指明引用或者參考,如圖書的標題,歌曲、電影、等的名稱,演唱會、音樂會、規範、報紙、或法律檔案等。

只用於參考源本身,而不是從中引述。

<blockquoto></blockquoto>:引述文字,預設新的一行顯示。

<q></q>:短的引述(跨瀏覽器問題,儘量避免使用)。

可以對blockquoto和q元素使用cite屬性(不是cite元素!),對搜尋引擎自動化工具有用。cite=“URL”引述來源地址。

<time></time>:標記時間。datetime屬性遵循特定格式,如果忽略此屬性,文字內容必須是合法的日期或者時間格式。 不再相關的時間用s標籤。

<abbr></abbr>:解釋縮寫詞。使用title屬性可提供全稱,只在第一次出現時使用就ok。

abbr[title]{ border-bottom:1px dotted #000; }

<dfn></dfn>:定義術語元素,與定義必須緊挨著,可以在描述列表dl元素中使用。

<address></address>:作者、相關人士或組織的聯絡資訊(電子郵件地址、指向聯絡資訊頁的連結)。

如果提供整個頁面的作者聯絡資訊,一般放在頁面級footer裡。不能包含文件或者文件等其他內容。

<del></del>:移除的內容。

<ins></ins>:新增的內容。

少有的既可以包圍塊級,又可以包圍短語內容的元素。

<code></code>:標記程式碼。包含示例程式碼或者檔名 (< > )

<pre></pre>:預格式化文字。保留文字固有的換行和空格。

3.html5的繪圖功能

1)canvas

在HTML5以前,web前端開發者無法在HTML頁面上動態地繪製圖片1)HTM5新增了一個<canvas></canavas>元素,相當於一個畫布.但它本身不具備畫圖能力,必須使用指令碼來完成實際的繪圖任務。運用getContext方法可以返回一個物件,該物件提供了繪畫的屬性和方法。

• 步驟1:得到<canvas></canavas>DOM物件

• 步驟2:呼叫Canvas物件的getContext()方法得到CanvasRederingContext2D物件(getContext方法裡面傳一個引數:”2d”)

• 步驟3:呼叫CanvasRederingContext2D完成畫圖

2)SVG:可伸縮向量圖形,用於定義網路的基於向量的圖形。