У меня есть куча написанного 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 в порядке. Просто похоже, что моя условная инструкция не запускается.
Любые идеи, что я делаю неправильно?
Не уверен, что это проблема, но попробуйте удалить пробелы. '' -> '' – Shaz