Два слова об условных комментариях

Два слова об условных комментариях

Очень часто верстка страниц производится таким образом, что у нас появляется основной файл стилей и несколько дополнительных, рассчитанных на конкретные браузеры (речь идет в основном об Internet Explorer, однако иногда требуются какие-то специальные правила для Firefox, Opera или Safari). В этом случае файлы подключают через так называемые «условные комментарии», которые выглядят как обычные HTML-комментарии для всех браузеров, кроме Internet Explorer (у остальных браузеров есть свои способы загрузить какой-то файл стилей только для них).

Финальная конструкция выглядит примерно следующим образом:

<link type="text/css" rel="stylesheet" href="main.css" media="screen" />

<!-—[if lt IE 7]><link type="text/css" rel="stylesheet"

href="ie6.css" media="screen" /><!endif-->

Для всех браузеров используется main.css, а для IE6 и ниже — ie6.css. Однако Internet Explorer этих версий не запрашивает файлы стилей параллельно, поэтому при загрузке страницы произойдет ненужная задержка, связанная с доставкой еще одного файла.

Чтобы избежать ее (особенно в случае небольшого количества стилей конкретно для IE), можно использовать CSS-хаки уже в исходном CSS-файле. Например, если нам нужно определить правило только для IE7, мы можем написать так:

*+html body {

margin: 0 auto;

}

для IE6:

* html body {

margin: 0 auto;

}

и для IE5.5- (эта группа браузеров не распознает экранирование символов, поэтому сможет применить только первое правило из двух, второе правило отработает для IE6, переопределив первое):

* html body {

margin: 0;

margin: 0 auto;

}

CSS-хаки позволяют совершенно свободно использовать всего один файл стилей для гарантии кроссбраузерности верстки. При этом производительность страницы будет максимальной (исключая, конечно, случай включения всех CSS-правил в исходный HTML-документ — это будет работать еще быстрее, однако чревато некоторыми сложностями; подробнее о них в конце этой главы).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Использование условных переменных

Из книги автора

Использование условных переменных Если код, который необходимо протестировать, выполняется не в контексте процесса, или необходим более глобальный метод для контроля новых функций, то можно использовать условные переменные. Этот подход даже более простой, чем


Как общаться в комментариях

Из книги автора

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


Список условных сокращений

Из книги автора

Список условных сокращений См. – смотритеСр. – сравнитеAbbr. – сокращение, аббревиатураA – имя прилагательноеInt. – междометиеN – имя существительноеPl. – множественное числоV


7.7. Атрибуты взаимных исключений и условных переменных

Из книги автора

7.7. Атрибуты взаимных исключений и условных переменных В наших примерах в этой главе мы хранили взаимные исключения и условные переменные как глобальные данные всего процесса, поскольку они использовались для синхронизации потоков внутри него. Инициализировали мы их с


8.4. Реализация с использованием взаимных исключений и условных переменных

Из книги автора

8.4. Реализация с использованием взаимных исключений и условных переменных Для реализации блокировок чтения-записи достаточно использовать взаимные исключения и условные переменные. В этом разделе мы рассмотрим одну из возможных реализаций, в которой предпочтение


R.17.1 Служебные слова

Из книги автора

R.17.1 Служебные слова В описаниях: typedef (§R.7.1.3), класса (§R.9), перечисления (§R.7.2), шаблона типа - (§R.14) введены новые, зависящие от контекста, служебные слова, а именно:имя-класса: идентификаторимя-перечисления: идентификаторимя-typedef: идентификаторОтметим, что имя-typedef,


Курс на использование условных выражений

Из книги автора

Курс на использование условных выражений Несмотря на простоту концепции, управляющие структуры можно отнести к наиболее мощным средствам программирования. С одной стороны, эти структуры "только" выбирают, какой из двух различных блоков программного кода следует


Ключевые слова

Из книги автора

Ключевые слова Ключевые слова — это предопределенные идентификаторы, которые имеют специальное значение для компилятора языка Си. Их использование строго регламентировано. Имена объектов программы не могут совпадать с ключевыми словами.список ключевых


1.4. Немного о комментариях

Из книги автора

1.4. Немного о комментариях Комментарии помогают человеку читать текст программы; писать их грамотно считается правилом хорошего тона. Комментарии могут характеризовать используемый алгоритм, пояснять назначение тех или иных переменных, разъяснять непонятные места.


2.3 Ключевые Слова

Из книги автора

2.3 Ключевые Слова Следующие идентификаторы зарезервированы для использовния в качестве ключевых слов и не могут использоваться иным образом:asm auto break case char class const continue default delete do double else enum extern float for friend goto if inline int long new operator overload public register return short sizeof static struct switch this typedef union unsigned


Ключевые слова

Из книги автора

Ключевые слова Список «key words» – это список ключевых слов, которые Book Designer использует для поиска названий глав в процессе автоматического форматирования книги. Вы можете добавить или исключить ключевые слова из списка при помощи кнопок, расположенных справа от


Слова, слова, слова… Автор: Евгений Козловский.

Из книги автора

Слова, слова, слова… Автор: Евгений Козловский. © 2004, Издательский дом | http://www.computerra.ru/Журнал «Домашний компьютер» | http://dk.compulenta.ru/Этот материал Вы всегда сможете найти по его постоянному адресу:  /2006/120/276445/Интересно, сколько двенадцатизначных чисел вы способны оперативно