SOLDIER-OF-FORTUNE
SOLDIER-OF-FORTUNE

Reputation: 1654

remove all styles based on browser version

I would like to know how i can remove all css styles based on checking if the browser is less than IE8.

So if it detects IE7 then remove all styles? I wonder if this is possible via some jquery?

Will this fix most IE7 issues:

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

Upvotes: 0

Views: 353

Answers (3)

Last Rose Studios
Last Rose Studios

Reputation: 2481

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

here you would need to prefix all the styles you don't IE7 to apply with .ok

another method would be

<!--[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]-->

Upvotes: 1

Benjamin Crouzier
Benjamin Crouzier

Reputation: 41915

I don't know why you want to remove all styles for a browser version. I suppose that you have some CSS problems with IE7, and often a good way of fixing it, rather than deleting all your CSS, is to use ie7.js: http://code.google.com/p/ie7-js/.

Here is a demo of what it can do.

Also, this script has a version for IE8 and IE9.

Upvotes: 2

hohner
hohner

Reputation: 11588

The best solution is to remove a specific class name rather than wiping the entire CSS for an element:

// 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': ''
   });

}

Upvotes: 0

Related Questions