Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Дизайн, HTML, CSS, JavaScript »   Условные комментарии для Internet Explorer
RSS

Условные комментарии для Internet Explorer

Или как сделать валидный код для "инвалидного" броузера

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: GramПечать
 
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Как известно, Internet Explorer не поддерживает ряд стандартных CSS-свойств (в том числе и очень часто требующееся свойство min-width), но зато содержит ряд возможностей, которые позволяют компенсировать этот недостаток, но при этом нарушают стандарты CSS (например, так называемые expressions).
Оффтопик: Я придерживаюсь позиции строгого соблюдения стандартов.

Но существует способ сверстать валидный код, не нарушая ни стандартов HTML, ни стандартов CSS. Для этого в IE предусмотрены так называемые условные комментарии — конструкции вида

<!--[if lt ie номер_версии]>

....

<![endif]-->


С помощью них проблема с min-width решается следующим образом: в CSS-файле пишем код для нормальных броузеров (bd — это id div-тега, для которого требуется задать минимальную ширину):

#bd { min-width: 780px }


В HTML-шаблоне в секции HEAD после подключения CSS-файла в блок условного комментария помещаем тег style, в котором задаем ширину с помощью expression:

<link rel="stylesheet" type="text/css" href="tradition.css" />

<!--[if lt ie 7.0]>

<style type="text/css">

#bd { width:expression((document.documentElement.clientWidth

|| document.body.clientWidth) < 780? "780px" : "auto"); }

</style>

<![endif]-->


Для всех броузеров, кроме MSIE версий ниже 7.0, а также для валидатора тег style будет не виден (так как с их точки зрения он находится внутри комментария), поэтому нарушения стандартов не произойдет.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Дизайн, HTML, CSS, JavaScript »   Условные комментарии для Internet Explorer
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0188. Количество выполненных запросов: 17, время выполнения запросов 0.0120