HTML5和CSS3是非常好用且功能強大的新屬性,唯一的重大缺陷就是可能很多舊版瀏覽器不相容,今天就給大家分享一下關於舊版的瀏覽器兼容HTML5和CSS3的問題。
1.讓老式瀏覽器支援HTML5
HTML5能為我們做的事兒很多,最為可口的就是語意化標籤的應用,如果你已經在Chrome或其他支援HTML5的瀏覽器上用過它的牛x,那這篇文章一定對你有用,因為現在你也可以在IE上用到HTML5。
第一種方法:使用Google的html5shiv套件(建議)
首先你要引用下面是引用Google的html5.js文件,好處就不說了:
#JavaScript Code複製內容到剪貼簿
1.
#將上程式碼複製到head部分,記住一定要是head部分(因為IE必須在元素解析前知道這個元素,所以這個js檔案不能在其他位置調用,否則失效)
主要是讓這些html5標籤成塊狀,像p那樣。好了,簡單吧,一句話概括就是:引用html5.js 讓html5標籤成塊狀
第二種方法:Coding JavaScript
JavaScript Code複製內容到剪貼簿
1.<!--[if lt IE9]> 2.<script> 3. (function() { 4. if (! 5. /*@cc_on!@*/ 6. 0) return; 7. 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(', '); 8. var i= e.length; 9. while (i--){ 10. document.createElement(e[i]) 11. } 12.})() 13.</script> 14.<![endif]-->
但是不管使用以上哪種方法,都要初始化新標籤的CSS.因為HTML5在預設情況下表現為內聯元素,對這些元素進行佈局我們需要利用CSS手動把它們轉換成塊狀元素方便佈局
XML/HTML Code複製內容到剪貼簿
1./*html5*/
2.article,aside, dialog,footer,header,section,footer,nav,figure,menu{display:block}
但是如果ie6/7/8 禁用腳本的使用者,那麼就變成了無樣式的"白板"網頁,我們該怎麼解決呢?
我們可以參考facebook的做法,即引導用戶進入帶有noscript標識的“/?_fb_noscript=1”頁面,用html4 標籤替換html5 標籤,這要比為了保持相容性而寫大量hack 的做法更輕。
XML/HTML Code複製內容到剪貼簿
1.<!--[if lte IE 8]> 2.<noscript> 3. <style>.html5-wrappers{display:none!important;}</style> 4. <p class="ie-noscript-warning">您的浏览器禁用了脚本,请<a href="">查看这里</a>来启用脚本!或者<a href="/?noscript=1">继续访问</a>. 5. </p> 6.</noscript> 7.<![endif]-->
這樣可以引導使用者開啟腳本,或直接跳到HTML4標籤設計的介面。
2.讓老式瀏覽器相容CSS3(不完全相容方案)
到Internet Explorer 8為止,IE系列是不支援CSS3的。在IE中要做一些常用的效果如圓角、陰影,就需要用一些冗餘而無意義的元素和圖片來做出這些效果。在厭倦這些後,就 想著用更簡潔、直接有效、CSS3式的辦法來解決這些問題。還好就算是飽受批評的Internet Explorer,本身也是夠強大的。 IE特有的技術可以很好的實現一些CSS3的效果。
Opacity透明度
元素的透明度在IE中可以很方便的濾鏡來實現。
CSS Code複製內容到剪貼簿
1.background-color:green; 2.opacity: .4; 3.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複製內容到剪貼簿
1.-moz-border-radius: 15px; /* Firefox */ 2.-webkit-border-radius: 15px; /* Safari 、Chrome */ 3.border-radius: 15px; /* Opera 10.5+, IE6+ 使用 IE-CSS3*/ 4.-moz-box-shadow: 5px 5px 5px #000; /* Firefox */ 5.-webkit-box-shadow: 5px 5px 5px #000; /* Safari、Chrome */ 6.box-shadow: 5px 5px 50px #000; /* Opera 10.5+,IE6+ 使用 IE-CSS3 */ 7.behavior: url(ie-css3.htc); /*引用ie-css3.htc */
實際上,在IE中有自己的濾鏡來實現陰影(shadow)和投影(drop-shadow)效果的
shadow會產生連續、漸進的陰影
CSS Code複製內容到剪貼簿
1.filter: progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=145, Strength=10);
CSS Code複製內容到剪貼簿
#1.filter: progid:DXImageTransform.Microsoft.DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1");
#濾鏡似乎和現有的htc腳本有衝突,或可以稱之為特性:兩者同時在一個元素上啟用的時候,濾鏡效果會轉移到其子元素上
就相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
以上是瀏覽器相容HTML5和CSS3的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

一致的HTML編碼風格很重要,因為它提高了代碼的可讀性、可維護性和效率。 1)使用小寫標籤和屬性,2)保持一致的縮進,3)選擇並堅持使用單引號或雙引號,4)避免在項目中混合使用不同風格,5)利用自動化工具如Prettier或ESLint來確保風格的一致性。

在Bootstrap4中實現多項目輪播的解決方案在Bootstrap4中實現多項目輪播並不是一件簡單的事情。雖然Bootstrap...

如何實現鼠標滾動事件穿透效果?在我們瀏覽網頁時,經常會遇到一些特別的交互設計。比如在deepseek官網上,�...

無法直接通過CSS修改HTML視頻的默認播放控件樣式。 1.使用JavaScript創建自定義控件。 2.通過CSS美化這些控件。 3.考慮兼容性、用戶體驗和性能,使用庫如Video.js或Plyr可簡化過程。

在手機上使用原生select的潛在問題在開發移動端應用時,我們常常會遇到選擇框的需求。通常情況下,開發者傾...

在手機上使用原生select的弊端是什麼?在移動設備上開發應用時,選擇合適的UI組件是非常重要的。許多開發者�...

使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理在Three.js中使用Octree實現房間內的第三人稱漫遊並添加碰�...

使用原生select在手機上的問題在移動設備上開發應用時,我們經常會遇到需要用戶進行選擇的場景。雖然原生sel...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver Mac版
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能