Как настроить таргетинг IE9 с помощью нового HTML5 Boilerplate?

Я пытаюсь настроить таргетинг на класс для IE. Однако, поскольку шаблон шаблона изменился, это больше не работает.

.myclass {
 //do something
}


.ie7 .myclass {
 ///do something

 }

Это то, что находится в новом заголовке стандартного шаблона.

<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

person user992731    schedule 10.02.2012    source источник


Ответы (2)


Мы не рекомендуем ориентироваться на IE9, так как он имеет все признаки современного браузера, поэтому у нас нет специального условного класса для IE9. Если вы все еще хотите, вы можете использовать:

<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9]>    <html class="no-js lt-ie10" lang="en"> <![endif]-->
<!--[if gt IE 9]><!--> <html class="no-js" lang="en"> <!--<![endif]--> 

Обратите внимание, что IE10 не распознает условные комментарии. .

person Divya Manian    schedule 13.02.2012
comment
Рад, что нашел это. box-shadow содержит ошибки в IE9 и IE10. Это пригодится для решения проблемы в IE9. Думаю, IE10, к сожалению, останется проблемой. :( - person jkupczak; 03.10.2012
comment
Я должен сказать, что если этот обходной путь будет использоваться, то было бы правильнее включать класс lt-ie10 во все условные комментарии, а не только в IE 9, чтобы селектор .lt-ie10 работал для все IE до 10 :) - person dimsuz; 28.11.2012
comment
Мне пришлось ориентироваться на IE9 из-за неправильного расчета заполнения внутри «заголовка», когда font-size внутри заголовка был в em - person Robert Niestroj; 14.12.2012
comment
Не будет ли в IE10 и некоторых других браузерах отсутствовать тег <html>? - person Ωmega; 17.10.2013
comment
Есть одно особое исключение, когда даже условные комментарии не помогают. Когда ваша страница открывается в iframe, где на хосте включен режим причуд. Обычно, если все идет наоборот, IE имитирует режим причуд для iframe, но если хост находится в режиме причуд, iframe также отображается в причудах (поскольку IE не может отображать одну веб-страницу с двумя движками одновременно). В этом случае условный комментарий не работает, и вам нужно прибегнуть к JS-хакам, чтобы все выглядело хорошо с полифиллами и шивами. - person zamber; 07.03.2014

Як Бойлерплейт! Так или иначе:

.lt-ie9.lt-ie8 .myclass {}

должен делать то, что вы хотите.

ИЗМЕНИТЬ

Извините, неправильно прочитали ваш вопрос, так как вы указали IE7 в качестве примера. Если вы хотите IE9, вы можете просто сделать:

.myclass {}
person PeeHaa    schedule 10.02.2012
comment
Верный! Однако это будет нацелено только на IE7. Тогда это означает меньше. поэтому .lt-ie9 будет нацелен на IE8. Мне также нужно ориентироваться на IE9 ... поэтому изменение его на .lt-ie10 не работает ... Есть идеи? - person user992731; 10.02.2012
comment
ну, мне нужно настроить IE на: цвет: прозрачный; насколько я знаю, он не поддерживается. - person user992731; 11.02.2012