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