微軟出的IE9支持HTML5,但因為不支持XP系統,暫時我還用不了。
即使能用,現階段如果開發HTML5頁面,並考慮到兼容性問題的話,恐怕也得讓自己的界面支持IE6-8吧。
首先,需要讓IE支持HTML5標簽。這個簡單,隨便在網上搜一下就能找到。下載一個html5.js,並拷貝到自己的目錄里就可以了。
現在寫一段簡單代碼,其功能是在頁面上放置一個canvas,並畫一個紅色圓圈。
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <HTML>
3 <HEAD>
4 <TITLE> IE8支持HTML5+CSS3 </TITLE>
5 <head>
6
7 <style type="text/css">
8 body {
9 background: #444;
10 color: #FFF;
11 font-family: Helvetica, Arial, sans-serif;
12 text-align: center;
13 }
14
15 #cv {
16 width: 600px; height: 400px;
17 background: #000;
18 border-radius: 20px;
19 padding: 20px;
20 margin: 20px auto;
21 box-shadow: 0 0 40px #222;
22 }
23 </style>
24
25 <script type="text/javascript">
26 function test() {
27 var ctx = document.getElementById("cv").getContext("2d");
28
29 ctx.fillStyle = "#aa0000";
30 ctx.beginPath();
31 ctx.arc(100, 100, 25, 0, Math.PI*2, true);
32 ctx.closePath();
33 ctx.fill();
34 }
35
36 window.onload = test;
37 </script>
38
39 </head>
40
41 <body>
42 <canvas id="cv"></canvas>
43 </body>
段代碼,在遨游和Firefox上,都可以用。但在IE8里,不但什么都沒有,下面狀態欄里還會顯示黃色小嘆號,點開,告訴我們,ctx根本沒取到canvas。
第一步,我們加上對html5的支持。
<!--[if IE]>
<script src="/public/html5.js" type="text/javascript"></script>
<![endif]-->
現在再看,會出現一個黑漆漆的框框,說明IE8已經認識canvas標簽了。但紅圈圈還是沒出來,下面狀態欄仍然提示我們JS里壓根沒取到canvas。這說明IE還只是認識了canvas是個合法標簽而已,至於怎么處理它,對不起,俺還不會。
第二步,加上對canvas的支持。
下載excanvas_r3.zip,解壓后,把excanvas.compiled.js拷貝到自己的目錄里,引用它。現在看看,哈,一個紅色圈圈出現了!js works!
<!--[if IE]>
<script type="text/javascript" src="/public/html5.js"></script>
<script type="text/javascript" src="/public/excanvas.compiled.js"></script>
<![endif]-->
如果您足夠細心,您會發現,樣式表中存在這么兩行:
border-radius: 20px;
box-shadow: 0 0 40px #222;
這是CSS3的樣式哦!border-radius說明我們要的黑框框四周應該是圓角才對,但現在卻四愣八插的;box-shadow那兒還有shadow呢。。。
下面是第三步,讓IE支持CSS3。在cv選擇器的最后,增加一句話
behavior: url(/public/ie-css3.htc);
#cv {
width: 600px; height: 400px;
background: #000;
border-radius: 20px;
padding: 20px;
margin: 20px auto;
box-shadow: 0 0 40px #222;
behavior: url(/public/ie-css3.htc);
}
其中,ie-css3.htc去 http://fetchak.com/ie-css3/ 下載,具體它能夠支持多少CSS3特性,網站說的很清楚,我就不費口舌了。
最后,在我們下載了三個文件,增加了三句話之后,看看效果吧。嘻嘻!