Um einfacher CSS Anweisungen zu schreiben, welche nur für bestimmte Browser & Browserversionen gibt es natürlich auch die Möglichkeit von reinen css-Hacks.

Komfortabler geht es hiermit.

Notewendig dafür ist das bowser.js welches unter https://github.com/ded/bowser zu finden ist. Bei Joomla <3 muss jQuery mit eingebunden werden.

Script einbinden:

$doc->addScript('templates/' . $this->template . '/js/bowser.js');

Danach folgend das Script:

<script type="text/javascript">
function setBrowserClasses(){
  var browserVersion = Math.floor(bowser.version);
  var bowserKeys = Object.keys(bowser);
  var browser = bowserKeys[1];
  if (typeof browserVersion === 'undefined'){
    browserVersion = 'x';
  }
  jQuery('body').addClass(browser+browserVersion);
  jQuery('body').addClass(browser);
}

jQuery(function(){
  setBrowserClasses();
});
</script>

 Der body Tag sieht nun je nach Browser z.B. so aus:

<body class=""msie msie10"><!-- IE 10 --> 
<body class=""chrome chrome35"><!-- Google Chrome 35.5 --> 

 Will man jetzt z.B. images nur für den IE 10 ansprechen müsste die css Auszeichnung so sein:

.msie10 img{
  /* doSomething */
}