HTML5 Boilerplate <head>скрипт и дизайн для мобильных устройств - PullRequest
1 голос
/ 05 февраля 2012

Недавно я наткнулся на HTML5 Boilerplate и мне это нравится!Однако есть одна часть, которую я не понимаю.

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

Пол Ирриш говорит, что мы можем использовать это вместо условных таблиц стилей и хаков CSS.Есть ли у кого-то опыт в этом столько раз, сколько я читал об этом в его блоге, но я все еще не могу понять, что это имеет смысл.

Сейчас я использую медиазапросы CSS3, однако в IE это не работаети вообще я просто счастливчик и файл CSS3-mediaqueries.js (или что-то в этом роде) И файл response.js просто не работают для меня.Поэтому я решил, что условные комментарии или конкретные таблицы стилей были для меня, но я вспомнил об этой установке, но действительно не знаю, как ее использовать.

Любая помощь очень ценится!

1 Ответ

1 голос
/ 05 февраля 2012

Это то, что называется условные комментарии , как вы уже догадались. Они вообще не являются частью какого-либо стандарта.

Это забавная вещь, которую делает IE - он фактически анализирует текст того, что должно быть неактивными данными! Но это должно работать.

Способ использования этого прост: если вы используете IE <7, то вы <code>blah стилизуете элементы для .ie6 blah. Более конкретный пример: допустим, вы хотите, чтобы ваши гиперссылки были красными, когда пользователь находится в IE8, и зелеными в противном случае. Вот немного CSS:

a {
    color: green;
}

.ie8 a {
    color: red;
}

Поскольку «a, который является потомком элемента, имеющего класс ie8», более специфичен, чем «любой a», последний применяется, и в IE8 ссылки будут красными. Эта логика применима только к IE8, потому что это единственный случай, когда условный комментарий для IE8 интерпретируется как часть HTML (а не закомментировано).

Единственный другой бит, который может сбить с толку, - это последняя строка, где у вас есть --> внутри блока комментариев: это означает, что браузер, полностью игнорирующий условные комментарии, все равно увидит HTML в последний блок (вместе с IE> 9 и браузерами, не поддерживающими IE, но все еще интерпретирующими условные комментарии).

...