2012-04-06 59 views
0

我想知道如何刪除所有基於檢查瀏覽器是否小於IE8的CSS樣式。基於瀏覽器版本刪除所有樣式

因此,如果它檢測到IE7然後刪除所有樣式?我想知道這是否可能通過一些jQuery?

請問這種修復最IE7的問題:

<!--[if lt IE 7]> 
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script> 
<![endif]--> 
+1

你在那裏放入的內容檢查IE版本是否是_less than_7,換句話說,IE6或更低版本。你的意思可能是'[如果IE 7]或'[如果IE IE 8]'。 – 2012-04-06 12:12:11

回答

1
<!--[if lt IE 8]> 
    <body class='oldIE'> 
<![endif]--> 
<!--[if gte IE 8]> 
    <body class='ok'> 
<![endif]--> 
<!--[if !IE]> 
    <body class='ok'> 
<![endif]--> 

在這裏,你將需要前綴的所有你不IE7的樣式與.ok

申請的另一種方法是

<!--[if lt IE 8]> 
    //include an old IE specific stylesheet or none at all 
<![endif]--> 
<!--[if gte IE 8]> 
    //include your stylesheets 
<![endif]--> 
<!--[if !IE]> 
    //include your stylesheets 
<![endif]--> 
+0

我結束瞭如果LT IE8使用,然後設置一些JavaScript來觸發重定向到飛濺頁面說IE7或<糟透了。坦白地說,任何使用IE7的人都不應該大聲朗讀以查看我的內容。 – 2012-04-06 13:25:46

2

我不知道你爲什麼要刪除所有風格的瀏覽器版本。我想你對IE7有一些CSS問題,通常修復它的好方法,而不是刪除所有的CSS,就是使用ie7.js:http://code.google.com/p/ie7-js/

這是它可以做的demo

另外,這個腳本還有一個適用於IE8和IE9的版本。

+0

我只是將它粘貼到標題中? – 2012-04-06 11:56:15

+0

檢查我的編輯? .... – 2012-04-06 11:56:55

+1

ie7.js不會像你問的那樣刪除任何CSS。它只是試圖使IE7像其他版本/瀏覽器一樣...... – hohner 2012-04-06 11:58:23

0

最好的解決方法是刪除特定類名,而不是擦整個CSS爲元素:

// Identity browser and browser version 

if($.browser.msie && parseInt($.browser.version) == 7) { 

    // Remove class name 
    $('.class').removeClass('class'); 

    // Or unset each CSS selectively 
    $('.class').css({ 
     'background-color': '', 
     'font-weight': '' 
    }); 

} 
+0

這是甚至可行的,因爲我有像UL.tiles 5樣式例如。我基本上想讓網頁像互聯網第一次啓動時那樣。或者只是將它們重定向到一個頁面,IE7很糟糕。 – 2012-04-06 12:00:06

+0

如果存在樣式表規則,則使用'.css'(編輯內聯樣式)「unsetting css」不執行任何操作。另外,並非所有的css規則都是基於類的。 – Esailija 2012-04-06 12:07:55