您當前位置:圖趣網(wǎng)(Tuquu) >> 網(wǎng)頁設(shè)計教程 >> 移動前端 >> 瀏覽設(shè)計教程

低版本IE運行HTML5+CSS3網(wǎng)站的3種解決方案

現(xiàn)在我們可以選擇瀏覽器非常多,所以瀏覽器的環(huán)境也是種類繁多,同一個瀏覽器也是包含各種不同的版本,不同的版本之間的渲染方法也存在差異,它們支持的 HTML5、CSS3 特性恐怕也不盡相同。這種情況于是造成Web開發(fā)者在開發(fā)網(wǎng)站時,要面對數(shù)量龐大的瀏覽器種類
如果開發(fā)時按最低標準,比如IE6不支持的特性,我們統(tǒng)統(tǒng)不用,那就沒有必要寫這篇文章了;但我想這種情況極少,更多的開發(fā),是在現(xiàn)代瀏覽器上使用它們支持的特性,而在早期瀏覽器上做一定的降級處理,這就是所謂 “漸進增強”,也是本文要說的重點。通過下面的方法,希望可以讓網(wǎng)站也能夠在低版本IE瀏覽器上奇跡般地運行得更好!
htmlshiv.js
Remy的 HTML5shiv通過JavaScript 來創(chuàng)建HTML5元素(如 main, header, footer等)。在某種程度上通過JavaScript 創(chuàng)建的元素是 styleable(可樣式)的。我們可以花很多時間來思考其運行原理,但誰會在乎呢?這種策略在所有產(chǎn)品網(wǎng)站上仍然是必須使用的。
 
 代碼如下:<!--[if lt IE 9]><script src="http://cdn.bootcss.com/html5shiv/3.7/html5shiv.js"></script><![endif]-->selectivizr.js
Selectivizr.js 是一個不可思議的資源,用于填充不支持的CSS選擇器和屬性,包括重要的 last-child。在最近的重設(shè)計中,我嵌入了 selectivizr,并在更老的 IE 瀏覽器上也不會錯過任何細節(jié)。下面是我的實現(xiàn)代碼:
 代碼如下:<!--[if lte IE 8]><script src="http://cdn.bootcss.com/selectivizr/1.0.2/selectivizr.js"></script><![endif]-->
現(xiàn)代項目絕對必須的。只在老版本IE時才加載。
另外,Modernizr 腳本中已經(jīng)添加 HTML5 瀏覽器支持腳本 html5shiv,我們只要引用 Moernizr.js 文件,IE9 以下的 IE 瀏覽器就支持 HTML5 添加的語義標簽如 nav、section、article 等,也可以使用 CSS 對它們進行樣式化。
條件注釋
下面這樣最土的情況你肯定看到過。但無論丑陋與否,事實上這段代碼完全按預(yù)期的方式運行:
 代碼如下:<!DOCTYPE html>
<!--[if lt IE 7 ]> <html class="ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8" lang="en"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9" lang="en"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
上面的方法是作用于css,來寫一些針對IE各版本的樣式差異。先判斷用戶用的哪個IE版本,然后在標簽上加上該版本的class,這樣可以方便hack。
 
然后我們在css文件中就可以這樣寫:
 
代碼如下:
.ie6 xxx {};
.ie7 xxx {};
這是目前小編認為效率最高的方法,這個方法不需要或等待JavaScript,而且也不需要重量級的JavaScript庫。你定義的styles類立即生效,還沒有閃屏。
 
盡管IE瀏覽器正在迎頭趕上競爭對手,新版本IE也有非常大的變化,并希望借助全新的IE重塑網(wǎng)絡(luò)體驗。但在國內(nèi)舊版IE仍然是比較流行。好消息是,這些資源在所有現(xiàn)代瀏覽器上運行良好,代價也并不高!
[教程作者:admin]
免責聲明:本站文章系圖趣網(wǎng)整理發(fā)布,如需轉(zhuǎn)載,請注明出處,素材資料僅供個人學(xué)習與參考,請勿用于商業(yè)用途!
本文地址:http://irelandcustomcontracting.com/tutorial/wd2049.html
返回上一頁代碼的幾種寫法
當網(wǎng)頁設(shè)置編碼為utf-8亂碼的解決方法
圖趣網(wǎng)微信
建議反饋
×