下面小編就為大家帶來一篇關於老式瀏覽器相容HTML5和CSS3的問題。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
1.讓老式瀏覽器支援HTML5
HTML5能為我們做的事兒很多,最為可口的就是語意化標籤的應用,如果你已經在Chrome或其他支援HTML5的瀏覽器上用過它的牛x,那這篇文章對你一定有用,因為現在你也可以在IE上用到HTML5。
第一種方法:使用Google的html5shiv包(推薦)
#首先你要引用下面是引用Google的html5.js文件,好處就不說了:
<!--[if IE]> <script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script> < ![endif]-->
#將上程式碼複製到head部分,記住一定要是head部分(因為IE必須在元素解析前知道這個元素,所以這個js檔案不能在其他位置調用,否則失效)
主要是讓這些html5標籤成塊狀,像p那樣。好了,簡單吧,一句話概括就是:引用html5.js 讓html5標籤成塊狀
#第二種方法:Coding JavaScript
<!--[if lt IE9]> <script> (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(', '); var i= e.length; while (i--){ document.createElement(e[i]) } })() </script> <![endif]-->
但是不管使用以上哪一種方法,都要初始化新標籤的CSS.因為HTML5在預設情況下表現為內嵌元素,對這些元素進行佈局我們需要利用CSS手把它們轉為塊狀元素方便佈局
/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
「/?_fb_noscript=1」頁面,用html4 標籤取代html5 標籤,這要比為了維持相容性而寫大量hack 的做法更輕。
<!--[if lte IE 8]> <noscript> <style>.html5-wrappers{display:none!important;}</style> <p class="ie-noscript-warning">您的浏览器禁用了脚本,请<a href="">查看这里</a>来启用脚本!或者<a href="/?noscript=1">继续访问</a>. </p> </noscript> <![endif]-->
2.讓老式瀏覽器相容CSS3(不完全相容方案)
到Internet Explorer 8為止,IE系列是不支援CSS3的。在IE中要做一些常用的效果如圓角、陰影,就需要用一些冗餘而無意義的元素和Opacity透明度
元素的透明度在IE中可以很方便的用濾鏡來實現。background-color:green; opacity: .4; filter:progid:DXImageTransform.Microsoft.alpha(opacity=40);這裡半透明區域
opacity: .4; filter:alpha(opacity=40);
border-radius圓角/Box Shadow盒陰影/Text Shadow文字陰影##在IE中可以利用Vector Markup Language (VML)和javascript來實現這些效果,請參考IE-CSS3,在引用了一個HTC檔後,在IE瀏覽器中就可以使用這三種CSS3
屬性CSS Code複製內容到剪貼簿-moz-border-radius: 15px; /* Firefox */
-webkit-border-radius: 15px; /* Safari 、Chrome */
border-radius: 15px; /* Opera 10.5+, IE6+ 使用 IE-CSS3*/
-moz-box-shadow: 5px 5px 5px #000; /* Firefox */
-webkit-box-shadow: 5px 5px 5px #000; /* Safari、Chrome */
box-shadow: 5px 5px 50px #000; /* Opera 10.5+,IE6+ 使用 IE-CSS3 */
behavior: url(ie-css3.htc); /*引用ie-css3.htc */
實際上,在IE中有自己的濾鏡來實現陰影(shadow)和投影(drop-shadow)效果的
filter: progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=145, Strength=10);
drop-shadow產生的陰影沒有明暗變化
filter:progid:DXImageTransform.Microsoft.DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1");濾鏡似乎和現有的htc腳本有衝突,或者可以稱之為特性:兩者同時在一個元素上啟用的時候,濾鏡效果會轉移到其子元素上
以上是關於老式瀏覽器相容HTML5和CSS3的問題詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!