Используйте таблицу стилей, когда НЕ IE - PullRequest
2 голосов
/ 25 марта 2010

Когда я использую этот код

<!--[if IE 6]>
<link rel="stylesheet" href="ie6.css" type="text/css" />
<![endif]-->

<!--[if !IE]>
<link rel="stylesheet" href="not_ie.css" type="text/css" />
<![endif]-->

IE 6 правильно использует указанную таблицу стилей, но все другие браузеры игнорируют оба, когда они должны использовать тот, который в основном утверждает, используйте эту таблицу стилей, если вы не IE.

Есть идеи?

Ответы [ 3 ]

7 голосов
/ 25 марта 2010

Условный комментарий, не относящийся к IE, немного взломан и поэтому написан несколько иначе, чем когда вы нацелены на IE.

<!--[if !IE]><!-->
<link rel="stylesheet" href="not_ie.css" type="text/css" />
<!--<![endif]-->

Браузеры не IE читают это, поскольку они полностью игнорируют условные комментарии, и комментарий считается закрытым с добавленными дополнениями. IE будет читать это как "не IE" условно и избегать вызова таблицы стилей.

2 голосов
/ 25 марта 2010

Только IE поддерживает условные комментарии. Поэтому FF, Chrome, Safari, Opera и т. Д. Будут игнорировать эти комментарии.

Лучше всего было бы создать одну таблицу стилей для других браузеров и использовать условные комментарии для настройки отдельной таблицы стилей для IE.

1 голос
/ 25 марта 2010

Это потому, что вы это закомментировали. Правильный способ включить стиль для «not-ie» будет выглядеть так:

<!--[if !IE]><!-->
<link rel="stylesheet" href="not_ie.css" type="text/css" />
<!--<![endif]-->

РЕДАКТИРОВАТЬ: Конечно, лучше иметь все стандартные CSS в файле, который всегда включен, и позволить конкретный CSS переопределить. Но это может быть самым быстрым способом включить некоторый стиль, который обрабатываются всеми другими браузерами, но не имеет, и который трудно правильно изменить на значение по умолчанию для ie.

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