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]-->
4

3 に答える 3

2

ブラウザー バージョンのすべてのスタイルを削除する理由がわかりません。IE7 で CSS に問題があると思いますが、すべての CSS を削除するのではなく、多くの場合、それを修正する良い方法は ie7.js を使用することです: http://code.google.com/p/ie7-js/ .

これが何ができるかのデモです。

また、このスクリプトには IE8 および IE9 用のバージョンがあります。

于 2012-04-06T11:50:30.580 に答える
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]-->
于 2012-04-06T12:48:44.113 に答える
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': ''
   });

}
于 2012-04-06T11:50:41.143 に答える