淺談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:可伸縮向量圖形,用於定義網路的基於向量的圖形。