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 */ }