конвертировать IE6 и 7 Hack в IE6, 7 и 8 взломать - PullRequest
0 голосов
/ 27 октября 2011

В моем CSS-коде у меня есть хак, который я хочу повлиять на IE6 / 7

#topmenu li a.activa,
#topmenu li a.activa:hover{
    *background: url(../nImg/comunHomeSprite.png) no-repeat;
    *background-position: right -2169px;  
    *float:left;
    *margin:0;
    *padding:0;
    *margin-left:10px;
}

Есть ли простой способ конвертировать их в IE8? ??

Ответы [ 3 ]

3 голосов
/ 27 октября 2011

Если вы должны использовать хаки, прочитайте это: http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-how-to-target-ie6-ie7-and-ie8-uniquely-with-4-characters/

Но учтите, что CSS-хаки считаются злом.

Условные комментарии - хорошая альтернатива.Они просты в использовании и гарантированно работают должным образом.

Вы не можете поместить условные комментарии непосредственно в таблицу стилей, но вы можете определить класс в своем теге <body>, используя условные комментарии, которыеЗатем вы можете ссылаться в CSS:

Напишите свой HTML <body> тэг, как это:

<!--[if IE 6]> <body class="ie6 ltie7 ltie8 ltie9"> <![endif]-->  
<!--[if IE 7]> <body class="ie7 ltie8 ltie9"> <![endif]-->  
<!--[if IE 8]> <body class="ie8 ltie9"> <![endif]-->  
<!--[if IE 9]> <body class="ie9"> <![endif]-->  
<!--[if (gt IE 9)|!(IE)]><!--> <body> <!--<![endif]-->  

Затем в вашем CSS вы можете ссылаться на соответствующий класс IE в ваших селекторах, иу вас будет полностью действительный код CSS:

#topmenu li a.activa:hover {
   /*normal styles here*/
}

.ie8 #topmenu li a.activa:hover {
   /*IE8-specific styles here*/
}

Надеюсь, это поможет.

2 голосов
/ 27 октября 2011

нашел это

selector {
    prop: value; /* real browsers */
    _prop: value; /* ie6 */
    *prop: value; /* ie6 ie7 */
    prop: value\9; /* ie8 */
}

не знаю, если это адрес IE9

1 голос
/ 27 октября 2011
/* IE8 */ @media \0screen { #topmenu li a.activa, @media \0screen #topmenu li a.activa:hover {
  background: url(../nImg/comunHomeSprite.png) no-repeat;
  background-position: right -2169px;  
  float:left;
  margin:0;
  padding:0;
  margin-left:10px;
} }

Я предпочитаю этот способ лично, так как атрибуты все еще являются стандартными CSS, и вам нужно изменить их только один раз, вместо того, чтобы использовать множество различных хаков.В противном случае это может стать немного громоздким.

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