Как я могу заставить IE игнорировать класс? - PullRequest
2 голосов
/ 29 июня 2009

IE обрабатывает один из классов моего div совершенно неправильно. Это работает в любом другом браузере, который я пробовал. Я хочу просто не применять класс к div в IE. Есть ли хитрость, чтобы IE не применил ее?

Дополнительная информация: у div есть несколько классов. Я все еще хочу загрузить один, но не другой в IE. Классы определены в файле Javascript.

Спасибо. Mike

Ответы [ 3 ]

6 голосов
/ 29 июня 2009

Вы можете использовать условные комментарии для IE, чтобы переопределить стиль в классе - это может быть самой простой вещью. Посмотрите здесь: MSDN ссылка По сути, вы должны назначить более конкретный стиль классу в комментарии, переопределяя стандарт - так что вы можете убрать большую часть стиля. Интеллектуальные браузеры не увидят комментарий.

5 голосов
/ 29 июня 2009

Вы можете сбросить этот конкретный стиль в таблице стилей только IE, используя что-то вроде этого в разделе head:

<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" media="screen"  href="/styles/ie.css" />
<![endif]-->

(для IE 7 и ниже ...)

Обновление для отражения некоторых комментариев: Вы можете настроить таргетинг на все браузеры, не относящиеся к IE, в целом, используя это в своем документе (в заголовке, если вы выбираете стили):

<!--[if !IE]><!-->
/* some styles AND / OR javascript */
<!--<![endif]-->
0 голосов
/ 29 июня 2009

Я ненавижу делать обнаружение браузера через javascript, но если не работает ни одно из других решений, вы можете попробовать что-то вроде следующего:

function removeClassForIE() {

    // Look at userAgent to test for IE
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {

        var divs = document.getElementsByTagName("div");
        for (var i = 0; i < divs.length; i++) {

             if (divs[i].className == "myClassName") {
                 divs[i].className = "";
            }
        }
    }
}

Это должно удалить класс из этих div, и только если его IE. Вы можете вызвать такую ​​функцию, как

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