0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 3765 Просмотров
*

Adeptus

  • Завсегдатай
  • 1861
  • 219 / 15
В связи с достаточно часто поступающими вопросами по поводу некорректного отображения прозрачных PNG-файлов под броузерами Microsoft (Internet Explorer), предлагаю небольшой мамбот, устраняющий эту проблему.

Для использования мамбота надо просто установить его на сайте стандартным образом.

Бот полностью локализован - скорее по привычке, ибо работа его совершенно "прозрачна" и не заметна для вас... :)

Конечно, для решения проблемы PNG есть и другие способы - но почему-то думалось, что для рядового неискушенного пользователя этот будет самым простым...  :)
*

LehaS

  • Новичок
  • 2
  • 0 / 0
а в версии Internet Explorer 6 PNG будет корректно отображаться?
*

aressto

  • Осваиваюсь на форуме
  • 28
  • 1 / 0
Нет в ИЕ6 такие же проблемы

а ещё слышал что ни один мамбот не может в ИЕ показывать PNG который является ссылкой
*

LehaS

  • Новичок
  • 2
  • 0 / 0
Я имел ввиду с помощью данного мамбота
*

triode-master

  • Захожу иногда
  • 103
  • 12 / 14
Так на png которые являются кнопками или ссылками он не действует?
у меня неработает.
Кто подскажет как прозрачность для кнопки формы реализовать.
Я немогу понять как это в css прописать, разных реализаций кода видел много.

Вот например

Думал, пыхтел, пробовал, ругался.

В итоге родилось такое решение:

<i class="png"><img src="image.png" alt="Image"/></i>HTML код чуть больше, чем в предыдущем примере. Сейчас станет понятно почему. Самое главное, как обычно, в CSS:

* html .png
{
    width: expression(this.firstChild.width);
    filter: expression("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+
            this.firstChild.src+"', sizingMethod='image')");

    background: expression("transparent url("+
            this.firstChild.src.replace(".png", ".gif")+") no-repeat");
    backgr\ound: none !important;
}

* html .png img
{
    behavior: expression(this.style.visibility="hidden");
}Теперь по порядку:

Используем * html, чтобы стили применялись только в MSIE6-.

Задаём width, ибо AlphaImageLoader работает только если заданы размеры блока. Причём ширину блоку задаём равной картинке, которая лежит внутри этого блока (this.firstChild.width). Ещё вместо ширины можно задать position: absolute или float: left/right.

filter'ом загружаем PNG, беря src из картинки. Это работает в MSIE-5.5+

Для MSIE-5.0, который не понимает AlphaImageLoader, задаём background, заменяя в имени картинки .png на .gif. Т.о. для MSIE-5.0 надо иметь вторую картинку с обычной прозрачностью, лежащую рядом с полупрозрачным PNG.

Скидываем background для MSIE-5.5+, используя backgr\ound.

А теперь скрываем оригинальную картинку. Причём скрываем её не просто через visibility: hidden, а через expression, чтобы это отработало только при включеных скриптах.

Итак, что получилось:

Нормальные браузеры показывают PNG-24 as is.

MSIE-5.5 и MSIE-6.0 со включеными скриптами и картинками показывают PNG-24 через AlphaImageLoader.

MSIE-5.5 и MSIE-6.0 со включеными скриптами и отключеными картинками показывают PNG-24 через AlphaImageLoader, ибо ему пофигу, что картинки отключены. :) Это и хорошо!

MSIE-5.5 и MSIE-6.0 с отключеными скриптами показывают картинку на сером фоне. Оно и правильно, чудес не бывает, нет скриптов — нет и компотика.

MSIE-5.0 со включеными скриптами и картинками показывают GIF фоном. Нет полупрозрачности, но это лучше, чем ничего.

MSIE-5.0 со включеными скриптами и отключеными картинками картинку не показывает. Ну, тут ничего не поделаешь.

MSIE-5.0 с отключеными скриптами и включеными картинками показывает картинку на сером фоне.

*

Golden Grey

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Не помог мне этот мамбот... :(
*

Full_crazy

  • Захожу иногда
  • 264
  • 48 / 0
  • Иногда думаю ...
Данный мамбот уже давно неактуален. Не работает он. Я рекомендую использовать намного лучшее решение, работает и в бекграунде.
Joomla! = невозможного почти нет!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

NEWS SHOW PRO GK5 особенности отображения новостей

Автор Maria_sounds

Ответов: 7
Просмотров: 3036
Последний ответ 25.07.2017, 10:05:36
от vipiusss
Стандартный модуль отображения меню

Автор Alex GOOD

Ответов: 4
Просмотров: 699
Последний ответ 20.11.2016, 15:48:53
от Alex GOOD
Проблема отображения меню модуля

Автор vegasstudio

Ответов: 3
Просмотров: 872
Последний ответ 26.06.2015, 11:55:46
от vipiusss
Правка отображения "Кратковременный дождь" в mod_weather_gk4

Автор DKsN

Ответов: 0
Просмотров: 778
Последний ответ 16.06.2015, 12:09:15
от DKsN
Модуль RokSprocket ошибка отображения в админке

Автор jamesmcalt

Ответов: 0
Просмотров: 789
Последний ответ 23.04.2015, 17:18:10
от jamesmcalt