Справка по прозрачности PNG в ie6!

У меня проблема с прозрачностью png в IE6 .. ниже приведен код, который необходимо исправить

<input type="image" alt="rtf" src="/components/i/images/icons/rtf.png"/>

Я видел несколько сообщений на этом форуме, но я не могу их понять ... может ли кто-нибудь рассказать мне, как это исправить? спасибо ..


person Sam    schedule 25.11.2009    source источник
comment
добро пожаловать в радости IE6   -  person Yacoby    schedule 25.11.2009
comment
дубликат - stackoverflow.com/questions/697682/ie6-png-transparency   -  person silent    schedule 25.11.2009
comment
Я знаю, что по этой теме есть много тем, но я не могу их понять .. вот почему я начал новую тему, чтобы кто-то мог мне помочь ..   -  person Sam    schedule 26.11.2009


Ответы (5)


В этом коде ничего нельзя исправить, потому что это сломанный IE. Вы можете найти здесь обходной путь: http://www.twinhelix.com/css/iepngfix/

person Cogwheel    schedule 25.11.2009

Прочтите это сообщение SO.

person o.k.w    schedule 25.11.2009

В основном IE6 неправильно выполняет альфа-прозрачность. Он пытается делать прозрачные изображения PNG-8 (с логической прозрачностью), но не может обрабатывать PNG-24.

Это позиция по умолчанию.

Если вам нужна полноценная альфа-прозрачность в IE6, лучшим вариантом будет использование скрипта, который вводит хаки, которые заставят его работать. Существует довольно медленный суперлайт. Или лучший вариант - DD_BelatedPNG, который не полагается на AlphaImageLoader.

person Andy    schedule 25.11.2009

Я должен отметить, что IE очень глючит при использовании прозрачных PNG, если к вам применено исправление. Это связано с тем, что AlphaImageLoader имеет серьезный недостаток, который может привести к зависанию браузера. Эта ссылка содержит более подробную информацию об исправлении, которое работает с lockukp. Однако в моем тестировании даже этого обширного исправления было недостаточно. Мы по-прежнему сталкивались с зависаниями браузера IE6 при просмотре страниц с PNG.

Вы можете обойти проблему другим способом, с помощью постепенной деградации в IE, используя 8-битные PNG с альфа-каналом. Не многие инструменты могут это сделать, но вы можете найти информацию здесь и здесь. 8-битные изображения не приведут к сбою IE и будут хорошо смотреться в IE7 + и во всех других браузерах. IE6 будет видеть изображения без прозрачных частей. Это может быть приемлемо для вашего дизайна. Если нет, я бы подумал об изменении дизайна, если вам вообще небезразличен IE6. Это просто нестабильно.

person Mr. Shiny and New 安宇    schedule 25.11.2009

Не используйте PNG24 для иконок. Преобразуйте значки в PNG8 и сокрушите метаданные. Это решает ошибку IE6, экономит трафик и делает вашу страницу быстрее.

Для преобразования можно использовать pngout. Для измельчения PNG следует использовать pngout, advpng, optipng и pngcrush

pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB -brute -l 9 -max -reduce -m 0 -q FILE
optipng -o7 -q FILE
pngout FILE -q -y -k0 -s0
advpng -z -4 FILE

если часть с дроблением метаданных на сложную, сохраните изображение только как PNG8 :)

person Burntime    schedule 07.12.2009