首頁 web前端 H5教程 關於老式瀏覽器相容HTML5和CSS3的問題詳解

關於老式瀏覽器相容HTML5和CSS3的問題詳解

Mar 20, 2017 pm 03:38 PM
css3 html5 瀏覽器相容

下面小編就為大家帶來一篇關於老式瀏覽器相容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(&#39;, &#39;);   
     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}
登入後複製


##但是如果ie6/7/8 禁用腳本的使用者,那麼就變成了無樣式的"白板"網頁,我們該怎麼解決呢?

我們可以參考facebook的做法,也就是引導使用者進入有noscript標識的 

「/?_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]-->
登入後複製


#這樣可以引導使用者開啟腳本,或直接跳轉到HTML4標籤設計的介面。

2.讓老式瀏覽器相容CSS3(不完全相容方案)

到Internet Explorer 8為止,IE系列是不支援CSS3的。在IE中要做一些常用的效果如圓角、陰影,就需要用一些冗餘而無意義的元素和

圖片來做出這些效果。在厭倦這些後,就 想著用更簡潔、直接有效、CSS3式的辦法來解決這些問題。還好就算是飽受批評的Internet Explorer,本身也是夠強大的。 IE特有的技術可以很好的實現一些CSS3的效果。

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)效果的

shadow會產生連續、漸進的陰影

filter: progid:DXImageTransform.Microsoft.Shadow(color=&#39;#000000&#39;, Direction=145, Strength=10);
登入後複製
drop-shadow產生的陰影沒有明暗變化

#
filter:progid:DXImageTransform.Microsoft.DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1");
登入後複製

濾鏡似乎和現有的htc腳本有衝突,或者可以稱之為特性:兩者同時在一個元素上啟用的時候,濾鏡效果會轉移到其子元素上

以上是關於老式瀏覽器相容HTML5和CSS3的問題詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

See all articles