Существует ли исправление JavaScript PNG для IE6, позволяющее позиционировать фон CSS? - PullRequest
10 голосов
/ 17 сентября 2008

Я видел несколько исправлений для обеспечения прозрачности изображений PNG в Internet Explorer 6, но я еще не нашел такого, который бы также позволял вам устанавливать положение фона в CSS. Если вы используете спрайты, это нарушает условия сделки. Я прибегнул к использованию GIF (которые не столь высокого качества), вообще не использовал прозрачные изображения или использовал совершенно другую таблицу стилей для IE6. Существует ли исправление для IE6, позволяющее использовать прозрачные пленки PNG и фоновое позиционирование?

Ответы [ 6 ]

7 голосов
/ 17 сентября 2008

Да. Конвертируйте ваши изображения для использования индексированных поддонов (png256). Вы можете поддерживать прозрачность (как gif), но не альфа-канал.

Вы можете сделать это, используя Irfanview и плагин pngout, pngquant или pngnq .

Команда разработчиков YUI также сделала отличную презентацию , которая охватывает многие другие концепции оптимизации изображений.

4 голосов
/ 17 сентября 2008

Это - это новая техника, которая появилась в прошлом месяце или около того. Со страницы:

В этом сценарии поддерживаются теги изображений как с пробелом GIF, так и без него, а PNG-изображения фоновых изображений можно размещать и повторять, даже если они меньше, чем элемент содержимого, в котором они находятся.

2 голосов
/ 26 января 2009

DD_belatedPNG.js работает очень хорошо

2 голосов
/ 18 сентября 2008

Когда фон статичен, я использую TweakPNG , чтобы изменить фрагмент цвета фона в PNG на правильный цвет (вместо серого цвета по умолчанию). Любой обычный браузер будет игнорировать это, потому что альфа-канал отменяет его, но IE6 и ниже будет использовать этот цвет вместо альфа-канала.

Это означает, что у нас есть прозрачность в IE7 +, в то время как приятно снижается в IE6 и ниже. И все позиционирование и повторение CSS возможно (потому что нет взломов!).

1 голос
/ 26 января 2009

IE PNG Fix v2.0 имеет поддержку полной альфа + position / repeat.

1 голос
/ 17 сентября 2008

На самом деле вы можете использовать чистый CSS для получения позиционированных фоновых изображений с альфа-прозрачностью в IE6, используя альфа-фильтры IE6 и свойство CSS clip. Жюльен Лекомт описывает технику в своем блоге .

Обратите внимание, что этот метод приводит к снижению производительности при каждом использовании альфа-фильтра.

...