Как написать свойство IE Hacks с помощью jQuery? - PullRequest
1 голос
/ 17 ноября 2011

Я пишу анимацию jQuery для кросс-браузерного эффекта просмотра.Мне нужно взяться за IE со свойствами взлома _height и *height.Я пытаюсь установить свойство с помощью

$('#notice_container').css({'_margin-bottom':'auto', 'margin-bottom': '31px'});

, но оно не устанавливает _margin-bottom, как я уже указывал при установке margin-bottom.

Итак, мои вопросы: как установить эти свойства, указанные в IE, с помощью jQuery?

Ответы [ 3 ]

2 голосов
/ 17 ноября 2011

Почему вы можете попробовать это

if( $.browser.msie && $.browser.version == 7.0 )
{
    $('#notice_container').css({'margin-bottom':'auto'});
}
2 голосов
/ 17 ноября 2011

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

http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

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

<!--[if lt IE 7]>      <html class="ie6"> <![endif]-->
<!--[if IE 7]>         <html class="ie7"> <![endif]-->
<!--[if IE 8]>         <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html>         <!--<![endif]-->

Тогда целевые элементы, такие как этот, вместо использования хаков:

$('.ie7 #notice_container').css({'margin-bottom':'auto'});

Выберите ID, если хотите, или другие имена классов Это очень чистый подход к «взлому» IE в целом.

0 голосов
/ 17 ноября 2011

Вы можете попробовать установить атрибут стиля напрямую:

 .attr({'style':'_margin-bottom:auto;margin-bottom:31px'});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...