前言:先介紹一下如何讓所有瀏覽器都支持html5標簽,然后你就可以放心大膽的用了!
如何讓IE瀏覽器支持HTML5:
下面是引用Google的html5.js文件,好處就不說了:
<!--[if IE]> <script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script> < ![endif]-->
將上代碼復制到head部分,記住一定要是head部分(因為IE必須在元素解析前知道這個元素,所以這個js文件不能在其他位置調用,否則失效)
當然,你也可以把代碼拿出來自己看着辦:
(function(){if(!/*@cc_on!@*/0)return;var e ="abbr,article,aside,audio,canvas,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(','),i=e.length;while(i--){document.createElement(e[i])}})()
最后在css里面加上這段:
/*html5*/
article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
主要是讓這些html5標簽成塊狀,像div那樣。
好了,一句話概括就是:引用html5.js 使html5標簽成塊狀。
下面總結一下HTML 5提供的一些新的標簽用法以及和HTML 4的區別:
<article>標簽定義外部的內容。比如來自一個外部的新聞提供者的一篇新的文章,或者來自 blog 的文本,或者是來自論壇的文本。亦或是來自其他外部源內容。
HTML5:<article></article>
HTML4:<div></div>
<aside>標簽定義 article 以外的內容。aside 的內容應該與 article 的內容相關。
HTML5:<aside>Aside 的內容是獨立的內容,但應與文檔內容相關。</aside>
HTML4:<div>Aside 的內容是獨立的內容,但應與文檔內容相關。</div>
<audio> 標簽定義聲音,比如音樂或其他音頻流。
HTML5:<audio src="someaudio.wav">您的瀏覽器不支持 audio 標簽。</audio>
HTML4:<object type="application/ogg" data="someaudio.wav"><param name="src" value="someaudio.wav"></object>
<canvas> 標簽定義圖形,比如圖表和其他圖像。這個 HTML 元素是為了客戶端矢量圖形而設計的。它自己沒有行為,但卻把一個繪圖 API 展現給客戶端 JavaScript 以使腳本能夠把想繪制的東西都繪制到一塊畫布上。
HTML5:<canvas id="myCanvas" width="200" height="200"></canvas>
HTML4:<object data="inc/hdr.svg" type="image/svg+xml" width="200" height="200"></object>
<command> 標簽定義命令按鈕,比如單選按鈕、復選框或按鈕。
HTML5: <command onclick=cut()" label="cut">
HTML4: none
<datalist> 標簽定義可選數據的列表。與 input 元素配合使用,就可以制作出輸入值的下拉列表。
HTML5: <datalist></datalist>
HTML4: see combobox.
<details> 標簽定義元素的細節,用戶可進行查看,或通過點擊進行隱藏。與 <legend> 一起使用,來制作 detail 的標題。該標題對用戶是可見的,當在其上點擊時可打開或關閉 detail。
HTML5: <details></details>
HTML4: <dl style="display:hidden"></dl>
<embed> 標簽定義嵌入的內容,比如插件。
HTML5: <embed src="horse.wav" />
HTML4: <object data="flash.swf" type="application/x-shockwave-flash"></object>
<figcaption> 標簽定義 figure 元素的標題。”figcaption” 元素應該被置於 “figure” 元素的第一個或最后一個子元素的位置。
HTML5: <figure><figcaption>PRC</figcaption></figure>
HTML4: none
<figure> 標簽用於對元素進行組合。使用 <figcaption> 元素為元素組添加標題。
HTML5: <figure><figcaption>PRC</figcaption><p>The People's Republic of China was born in 1949...</p></figure>
HTML4: <dl><h1>PRC</h1><p>The People's Republic of China was born in 1949...</p></dl>
<footer> 標簽定義 section 或 document 的頁腳。典型地,它會包含創作者的姓名、文檔的創作日期以及/或者聯系信息。
HTML5: <footer></footer>
HTML4: <div></div>
<header> 標簽定義 section 或 document 的頁眉。
HTML5: <header></header>
HTML4: <div></div>
<hgroup> 標簽用於對網頁或區段(section)的標題進行組合。
HTML5: <hgroup></hgroup>
HTML4: <div></div>
<keygen> 標簽定義生成密鑰。
HTML5: <keygen>
HTML4: none
<mark>主要用來在視覺上向用戶呈現那些需要突出的文字。<mark>標簽的一個比較典型的應用就是在搜索結果中向用戶高亮顯示搜索關鍵詞。
HTML5: <mark></mark>
HTML4: <span></span>
<meter> 標簽定義度量衡。僅用於已知最大和最小值的度量。必須定義度量的范圍,既可以在元素的文本中,也可以在 min/max 屬性中定義。
HTML5: <meter></meter>
HTML4: none
<nav> 標簽定義導航鏈接的部分。
HTML5: <nav></nav>
HTML4:<ul></ul>
<output> 標簽定義不同類型的輸出,比如腳本的輸出。
HTML5: <output></output>
HTML4: <span></span>
<progress> 標簽運行中的進程。可以使用 <progress> 標簽來顯示 JavaScript 中耗費時間的函數的進程。
HTML5: <progress></progress>
HTML4: none
<rp> 標簽在 ruby 注釋中使用,以定義不支持 ruby 元素的瀏覽器所顯示的內容。
HTML5: <ruby>漢 <rt><rp>(</rp>ㄏㄢˋ<rp>)</rp></rt></ruby>
HTML4: none
<rt> 標簽定義字符(中文注音或字符)的解釋或發音。
HTML5: <ruby>漢 <rt> ㄏㄢˋ </rt></ruby>
HTML4: none
<ruby> 標簽定義 ruby 注釋(中文注音或字符)。
HTML5: <ruby>漢 <rt><rp>(</rp>ㄏㄢˋ<rp>)</rp></rt></ruby>
HTML4: none
<section> 標簽定義文檔中的節(section、區段)。比如章節、頁眉、頁腳或文檔中的其他部分。
HTML5: <section></section>
HTML4: <div></div>
<source> 標簽為媒介元素(比如 <video> 和 <audio>)定義媒介資源。
HTML5: <source>
HTML4: <param>
<summary> 標簽包含 details 元素的標題,”details” 元素用於描述有關文檔或文檔片段的詳細信息。”summary” 元素應該是 “details” 元素的第一個子元素。
HTML5: <details><summary>HTML 5</summary>This document teaches you everything you have to learn about HTML 5.</details>
HTML4: none
<time> 標簽定義日期或時間,或者兩者。
HTML5: <time></time>
HTML4: <span></span>
<video> 標簽定義視頻,比如電影片段或其他視頻流。
HTML5: <video src="movie.ogg" controls="controls">您的瀏覽器不支持 video 標簽。</video>
HTML4:<object type="video/ogg" data="movie.ogv"><param name="src" value="movie.ogv"></object>
css3新屬性:
零. transition(a標簽hover漸隱效果)
a:hover{transition: color 0.15s linear 0s, background-color 0.3s linear 0s;}
-webkit-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
-moz-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
-o-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
-ms-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
transition:color 0.15s linear 0s, background-color 0.3s linear 0s;
一. box-shadow(陰影效果)
使用:
box-shadow: 20px 10px 0 #000;
-moz-box-shadow: 20px 10px 0 #000;
-webkit-box-shadow: 20px 10px 0 #000;
支持:
FF3.5, Safari 4, Chrome 3
二. border-colors(為邊框設置多種顏色)
使用:
border: 10px solid #000;
-moz-border-bottom-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-top-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-left-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-right-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
說明:
顏色值數量不固定, 且FF的私有寫法不支持縮寫: -moz-border-colors: #333 #444 #555;
支持:
FF3+
三. boder-image(圖片邊框)
使用:
-moz-border-image: url(exam.png) 20 20 20 20 repeat;
-webkit-border-image: url(exam.png) 20 20 20 20 repeat;
說明:
(1). 20 20 20 20 ---> 邊框的寬度, 分別對應top, right, bottom, left邊框, 改變寬度可以實現不同的效果;
(2). 邊框圖片效果(目前僅實現了兩種):
repeat --- 邊框圖片會平鋪, 類似於背景重復;
stretch --- 邊框圖片會以拉伸的方式來鋪滿整個邊框;
(3). 必須將元素的邊框厚度設置為非0非auto值.
支持:
FF 3.5, Safari 4, Chrome 3
四. text-shadow(文本陰影)
使用:
text-shadow: [<顏色><水平偏移><縱向偏移><模糊半徑>] || [<水平偏移><縱向偏移><模糊半徑><顏色>];
說明:
(1) <顏色>和<模糊半徑>是可選的, 當<顏色>未指定時, 將使用文本顏色; 當<模糊半徑>未指定時, 半徑值為0;
(2) shadow可以是逗號分隔的列表, 如:
text-shadow: 2px 2px 2px #ccc, 3px 3px 3px #ddd;
(3) 陰影效果會按照shadow list中指定的順序應用到元素上;
(4) 這些陰影效果有可能相互重疊, 但不會疊加文本本身;
(5) 陰影可能會跑到容器的邊界之外, 但不會影響容器的大小.
支持:
FF 3.5, Opera 10, Safari 4, Chrome 3
五. text-overflow(文本截斷)
使用:
text-overflow: inherit | ellipsis | clip ;
-o-text-overflow: inherit | ellipsis | clip;
說明:
(1) 還有一個屬性ellipsis-word, 但各瀏覽器均不支持.
支持:
IE6+, Safari4, Chrome3, Opera10
六. word-wrap(自動換行)
使用:
word-wrap: normal | break-word;
支持:
IE6+, FF 3.5, Safari 4, Chrome 3
七. border-radius(圓角邊框)
使用:
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
支持:
FF 3+, Safari 4 , Chrome 3
八. opacity(不透明度)
使用:
opacity: 0.5;
filter: alpha(opacity=50); /* for IE6, 7 */
-ms-filter(opacity=50); /* for IE8 */
支持:
all
九. box-sizing(控制盒模型的組成模式)
使用:
box-sizing: content-box | border-box; // for opera
-moz-box-sizing: content-box | border-box;
-webkit-box-sizing: content-box | border-box;
說明:
1. content-box:
使用此值時, 盒模型的組成模式是, 元素寬度 = content + padding + border;
2. border-box:
使用此值時, 盒模型的組成模式是, 元素寬度 = content(即使設置了padding和border, 元素的寬度
也不會變).
支持:
FF3+, Opera 10, Safari 4, Chrome 3
十. resize(元素縮放)
使用:
resize: none | both | horizontal | vertical;
說明:
1. 必須將元素的overflow屬性設置為auto或hidden, 該屬性才能起作用(overflow設置為visible時, 無效);
2. 屬性值說明:
(1). none --> 禁用縮放;
(2). both --> 可同時縮放寬度和高度;
(3). horizontal --> 僅能縮放寬度;
(4). vertical --> 僅能縮放高度;
支持:
safari 4, chrome 3
十一. outline(外邊框)
使用:
outline: 邊框厚度 邊框樣式 邊框顏色;
outline-offset: 偏移值;
說明:
outline-offset需要獨立寫, 簡寫是無效的.
支持:
FF3+, safari 4, chrome 3, opera 10
十二. background-size(指定背景圖片的尺寸)
使用:
-o-background-size: [length | percentage] {1, 2};
-webkit-background-size: [length | percentage] {1, 2};
例如:
-o-background-size: 50px 60px;
-webkit-background-size: 50px 60px;
這會將背景圖片的寬設置了50px, 高60px.
支持:
safari 4, chrome 3, opera 10
十三. background-origin(指定背景圖片從哪里開始顯示)
使用:
-webkit-background-origin: border | padding | content;
-moz-background-origin: border | padding | content;
說明:
(1) border --> 從border區域開始顯示背景;
(2) padding --> 從padding區域開始顯示背景;
(3) content --> 從content區域開始顯示背景;
注意:
1. 必須先指定background屬性, 然后才能指定該屬性, 如果該屬性出現在background屬性之前,
會無效.
支持:
safari 4, chrome 3, FF 3+
十四. background-clip(指定背景圖片從什么位置開始裁切)
使用:
-webkit-background-origin: border-box | padding-box | content-box | no-clip;
說明:
(1) border-box --> 從border區域向外裁剪背景;
(2) padding-box --> 從padding區域向外裁剪背景;
(3) content-box --> 從content區域向外裁剪背景;
(4) no-clip --> 不裁切背景.
注意:
1. 必須先指定background屬性, 然后才能指定該屬性, 如果該屬性出現在background屬性之前,
會無效.
支持:
safari 4, chrome 3
十五. background(為一個元素指定多個背景)
使用:
background: [background-image] | [background-origin] | [background-clip] |[background-repeat] | [background-size] | [background-position]
例子:
background: url(bg1.png) no-repeat left top, url(bg2.png) no-repeat right bottom;
支持:
safari 4, chrome 3
十六. hsl(通過色調, 飽和度, 亮度來指定顏色值)
使用:
hsl: ( <length> || <percentage> || <percentage>);
說明:
(1) length: h(色調), 0(或360)表示紅色, 120表示綠色, 240表示藍色;
(2) percentage: s(飽和度), 取值為0%到100%之間的值;
(3) percentage: l(亮度), 取值為0%到100%之間的值;
例子:
background: hsl(240, 50%, 100%);
color: hsl(100, 80, 100%);
支持:
safari 4, chrome 3, FF3, opera 10
十七. hsla(在hsl的基礎上上增加了一個透明度設置)
使用:
hsla: ( <length> || <percentage> || <percentage> || <opacity>);
說明:
(1) opacity: a(透明度), 取值在0到1之間;
例子:
background: hsl(240, 50%, 100%, 0.5);
color: hsl(240, 50%, 100%, 0.5);
支持:
safari 4, chrome 3, FF3, opera 10
十八. rgba(基於r,g,b三個顏色通道來設置顏色值, 通過a來設置透明度)
使用:
rgba: (r, g, b, opacity);
說明:
(1) r: 紅色, 正整數 | 百分數;
(2) g: 綠色, 正整數 | 百分數;
(3) b: 藍色, 正整數 | 百分數;
(4) a: 透明度, 取值在0到1之間;
(5) 正整數在0到255之間, 百分數在0%到100%之間.
例子:
rgba: (100%, 244, 0, 0.5);
支持:
safari 4, chrome 3, FF3, opera 10