Замена png файлом gif, если png не поддерживается в браузере

Я знаю, что эта проблема связана с тем, что браузеры IE не могут отображать файлы PNG, особенно если вы опытный пользователь Windows Vista и используете IE7. Я надеюсь найти решение для замены файла PNG на GIF, только если PNG не поддерживается. Есть ли способ с точки зрения javascript или css добиться такого эффекта? Я пытаюсь сделать это для фоновых изображений в тегах div.

Спасибо!


person klewis    schedule 03.11.2011    source источник
comment
PNG поддерживаются в IE7. Вы имеете в виду прозрачные PNG?   -  person Oded    schedule 03.11.2011
comment
Как опытный пользователь Vista, вы не получите ни одного из них, если откроете свой браузер в IE7.   -  person klewis    schedule 03.11.2011


Ответы (2)


Вы можете использовать условный CSS IE для переопределения фоновых изображений.

<style type="text/css">
   div.something { background: url(someimage.png); }
</style>

<!--[if lte IE 7]>
<style type="text/css">
   div.something { background: url(override.gif); }
</style>
<!-- <![endif]-->
person Marc B    schedule 03.11.2011
comment
Я не думаю, что вам нужен <!-- в последней строке ... если он не указан по другим причинам / для простого комментирования кода? - person David says reinstate Monica; 03.11.2011
comment
Отличная работа, и Дэвид прав насчет тега. Этот метод теперь оставляет тяжелую работу дизайнеру, чтобы спроектировать изображение в формате GIF таким образом, чтобы оно соответствовало эффекту прозрачности PNG. Еще раз спасибо! - person klewis; 04.11.2011

Есть несколько идей по этому вопросу:

Можно ли проверить поддержку PNG с помощью jQuery .Support?

вам, вероятно, придется использовать некоторые css-хаки. для таргетинга IE 7.

на этой странице есть несколько уловок: http://www.evotech.net/blog/2007/04/ie7-only-css-hacks/

person Patricia    schedule 03.11.2011
comment
Ни один из методов, упомянутых в этой второй ссылке, не работает для моей версии IE7. - person klewis; 03.11.2011