Условный CSS, не загруженный IE7 и IE8

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

У меня есть следующий 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. Кажется, эта таблица стилей полностью игнорируется.

Затем я попытался изменить условный оператор на , но это не дало никакого эффекта.

Наконец, Я полностью удалил оператор условия, что привело к следующему коду:

<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 в порядке. Похоже, мой условный оператор не запускается.

Есть идеи, что я делаю не так?

5
задан TMC 18 May 2011 в 02:17
поделиться