Как изменить стиль CSS, зависит от браузера - PullRequest
2 голосов
/ 03 декабря 2010

Я знаю, что в mootools обнаружен браузер.Поэтому я хочу знать, как изменить стиль CSS зависит от браузера?-v-

Ответы [ 6 ]

1 голос
/ 04 июня 2013
if ( Browser.chrome ) { document.id('foo').addClass('bar'); }

Подробнее см. Документация Mootools для браузера

0 голосов
/ 06 ноября 2014

Хороший вопрос, сначала вы можете добавить различные классы с помощью CSS, например:

.color-safari{}
.color-chrome{}

Затем создайте элемент с классом, но пустым, как:

<input id="myID" type="text" name="hi" class="">

Затем в части сценария выМожно добавить следующее для проверки браузера:

     var userAgent = navigator.userAgent.toLowerCase(); 
     if (userAgent .indexOf('safari')!=-1){ 
       if(userAgent .indexOf('chrome')  > -1){
         //browser is chrome
          $("#myID").addClass("color-chrome");
       }else{
        //browser is safari, add css          
          $("#myID").addClass("color-safari");
       }
      }

Я попытался, и это работает, ура!

0 голосов
/ 03 июня 2013

Обнаружение браузера требуется только для более старых версий IE, если в других современных браузерах есть проблемы, то это, вероятно, ошибка разработчика.

Один из способов - проверка на стороне сервера:

// returns true on at least a minimal version of IE, or if is not IE
function checkIEVersion( minimal ) {
    var ver = true;
    if ( navigator.appName == 'Microsoft Internet Explorer' ) {
        var ua = navigator.userAgent;
        var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null) ver = parseFloat( RegExp.$1 ) >= minimal;
    }
    return ver;
};

Другой способ заключается в использовании условных комментариев в html:

<!--[if lt IE 9]><html class="ie"><![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html><!--<![endif]-->    

<!--[if lt IE 9]>
<script src="js/html5.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/ie.css">
<![endif]-->

Тогда обычный стиль CSS будет выглядеть следующим образом:

.somestyle {}

И резервный стиль вie.css будет выглядеть так:

.ie .somestyle {}
0 голосов
/ 03 декабря 2010

2 способа:

Серверная сторона

Обнаружение строки пользовательского агента и предоставление связанной таблицы стилей во время генерации страницы.

Условные таблицы стилей

Служит только для IE (все версии)

<!--[if IE]>
        <link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<!--<![endif]-->

Взгляните на:

http://css -tricks.com / как к создать-ан-то есть-только-таблицы стилей /

Для условий, связанных точно с различными версиями.

Примечания

Вероятно, лучше всего попытаться исправить основную проблему, а не прибегать к взлому, так как его будет намного проще поддерживать. Также имейте в виду, что новые версии выпускаются постоянно, версии браузера могут быть подделаны и т. Д. И т. Д. Он действительно должен использоваться только для конкретных изолированных исправлений, когда вы не можете найти другое решение.

0 голосов
/ 03 декабря 2010

для личного напоминания, я разместил этот небольшой пример на jsfiddle: http://www.jsfiddle.net/ghazal/XUXAP/ Может быть, это поможет вам Приветствия.

0 голосов
/ 03 декабря 2010

Возможно, будут работать следующие CSS-хаки:

http://www.cssblog.es/hacks-css-mediante-selectores/

С уважением!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...