現代的瀏覽器都支持 html5,對于無法識別的元素,所有瀏覽器,包括舊的和最新的,會作為內聯元素自動處理 同時我們可以使用一些 hack 手段讓一些較早的瀏覽器(不支持 html5)支持 HTML5 將 HTML5 元素定義為塊元素HTML5 定了 8 個新的 HTML 語義(semantic) 元素 所有這些元素都是 塊級 元素 為了能讓舊版本的瀏覽器正確顯示這些元素,需要設置 css 的 display:block header,section,footer,aside,nav,main,article,figure { display: block; } 為 HTML 添加新元素我們也可以為 HTML 添加新的元素 下面的范例向 HTML 添加的新的元素 <ysHero>,并為該元素定義樣式 <!DOCTYPE html> <Meta charset="utf-8"> <script> document.createElement("ysHero")</script> <style> ysHero{ display:block; background-color:#ddd; padding:50px; font-size:30px; } </style> <h1>我的第一個標題</h1> <p>我的第一個段落</p> <ysHero>我的第一個新元素</ysHero> JavaScript 語句 document.createElement("ysHero") 是為 IE 瀏覽器添加新的元素 Internet Explorer 瀏覽器問題雖然我們可以使用 document.createElement("element") 方法來為 IE 瀏覽器添加 HTML5 元素 但是 Internet Explorer 8 及更早 IE 版本的瀏覽器不支持這種方式 不過,我們可以使用 Sjoerd Visscher 創建的 "HTML5 Enabling JavaScript"," shiv " 來解決該問題 國外<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> 國內 <!--[if lt IE 9]> <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script> <![endif]--> 這個代碼是一個注釋,作用是在 IE 瀏覽器的版本小于 IE9 時將讀取 html5.js 文件,并解析它 針對 IE 瀏覽器,html5shiv 是比較好的解決方案 html5shiv 主要解決 HTML5 提出的新的元素不被 IE6-8 識別,這些新元素不能作為父節點包裹子元素,并且不能應用 css 樣式 范例: 完美的 Shiv 解決方案<!DOCTYPE html> <Meta charset="utf-8"> <!--[if lt IE 9]> <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script> <![endif]--> <h1>我的第一篇文章</h1> <article> 簡單教程,簡單編程 </article> html5shiv.js 引用代碼必須放在 HTML 文檔頭部,因為 IE 瀏覽器在解析 HTML5 新元素時需要先加載該文件。 |