2011-05-18 2 views
5

У меня есть куча написанного CSS, который делает мой сайт целевой Mobile первым, затем я использую CSS Media Queries для загрузки другой таблицы стилей для настольных браузеров. Я делаю это, так как существует так много мобильных браузеров, которые не понимают CSS Media Queries, и более вероятно, что пользователи настольных компьютеров имеют современные браузеры, которые поддерживают это.Условный CSS, не загруженный IE7 и IE8

У меня есть следующие CSS, который работает во всех современных браузерах (IE9, Chrome, Firefox 3.6 +, Safari 4 + 5):

Я тогда понял, что IE7 и IE8 не поддерживают CSS Media Queries ПОЭТОМУ УКАЗАННЫЕ выше не будет работать. Поэтому я добавил условный оператор, чтобы загрузить его:

<link rel="Stylesheet" type="text/css" href="/css/mobile.css" media="all"/> 
<!-- [if lt IE 9]> 
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="all" /> 
<! [endif] --> 
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="only screen and (min-width: 640px)" /> 

Однако, используя IE Tester и Browsershots, я подтвердил, что desktop.css не загружается в IE 7 и 8. Это, кажется, не обращая внимания, что таблицы стилей полностью.

Затем я попытался сменить условный оператор на <!-- [if IE 8]>, но это не повлияло.

Наконец, я снял условие о целом, в результате чего в этом коде:

<link rel="Stylesheet" type="text/css" href="/css/mobile.css" media="all"/> 
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="all" /> 

Это последняя попытка приводит к моей desktop.css загружается в IE7 и IE8. Итак, это доказывает, что CSS в порядке. Просто похоже, что моя условная инструкция не запускается.

Любые идеи, что я делаю неправильно?

+1

Не уверен, что это проблема, но попробуйте удалить пробелы. '' -> '' – Shaz

ответ

8

Удалить места. Это нарушает conditional syntax. В противном случае IE рассматривает это как обычный комментарий.

<!--[if IE 8]> 
... 
<![endif]--> 
+0

Спасибо, это была проблема! (Примечание: внесите изменения в свой окончательный комментарий, это должно быть '' – TMC

+0

Спасибо. Я обновил свой ответ. Рад, что это сработало. –

Смежные вопросы