css условные утверждения: включить таблицу стилей для IE8+ и отдохнуть

69
5

У меня есть эта таблица стилей:

<link rel="stylesheet" href="/static/web/bootstrap/css/bootstrap-responsive.min.css" />

И я хочу включить его для IE8+ и любого другого браузера, но не для включения в IE7-. Является ли это возможным?

EDIT: Я пробовал:

<!--[if (gte IE 8)|(!IE)]>
<link rel="stylesheet" href="/static/web/bootstrap/css/bootstrap-responsive.min.css" />
<![endif]-->

Но это не включает файл под Firefox или Chrome (или любой другой браузер, чем IE8+, я полагаю)

EDIT2: На самом деле, я должен включить файл для IE9+ (а не IE8+), потому что я только что узнал, что даже IE8 не поддерживает медиа-запросы. В любом случае это не имеет значения с точки зрения "как это сделать".

спросил(а) 2013-03-22T16:55:00+04:00 6 лет, 11 месяцев назад
1
Решение
61

В условных комментариях есть специальный синтаксис

gt: greater than
lte: less than or equal to

Поэтому вы можете использовать их для фильтрации.

<!--[if gt IE 7]>
<link rel="stylesheet" href="/static/web/bootstrap/css/bootstrap-responsive.min.css" />
<![endif]-->

Условные комментарии также поддерживают множественное условие с использованием оператора AND(&) или OR(|)

<!--[if (gt IE 7)|(!IE)]>
<link rel="stylesheet" href="/static/web/bootstrap/css/bootstrap-responsive.min.css" />
<![endif]-->

ответил(а) 2013-03-22T16:58:00+04:00 6 лет, 11 месяцев назад
36

Включите свой старый файл CSS IE в условный оператор, затем включите свой обычный файл CSS


<!--[if lt IE 9]>
<link rel="stylesheet" href="/static/web/bootstrap/css/OLD-IE.css" />
<![endif]-->
<link rel="stylesheet" href="/static/web/bootstrap/css/bootstrap-responsive.min.css" />

ответил(а) 2013-03-22T17:03:00+04:00 6 лет, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема