Вход
 
Главная Форум Веб-мастера Регистрация
Разделы сайта
Новое
В картинках
см. так же графику
 
Прозрачный PNG в Internet Explorer 3 ноября 2008
 - Скрипты
Не все верстальщики с «рождения» знают, что самый популярный и распространенный браузер Internet Explorer не отображает PNG правильно, точнее сказать он не отображает прозрачность графики «самостоятельно». Для достижения одинакового отображения страницы во всех браузерах нужно хорошо потрудиться, поломать голову не один час. Раньше много времени я тратил на технологию обхода использования PNG: сделать тень блока на странице можно и с помощью других графических форматов, но это дает много «лагов» в качестве верстки страницы, а значит и снижает уровень профессионализма верстальщика (следовательно, его карьеру и гонорар). В данной статье я расскажу вам, как сделать PNG прозрачным в IE, прибегая только к помощи JavaScript и CSS, PNG – как просто вставленной картинки, а так же как фон. Верстальщик, вот тебе плюс один к знаниям.
Сразу уточним, что Opera, FireFox и подобные браузеры отображают PNG штатно.
Рассмотрим случай «ДО» применения приема.

Исходная картинка в формате PNG.
Прозрачный PNG в Internet Explorer


Рис. 1. «Звезда – прозрачный объект с внешним свечением»
Прозрачный PNG в Internet Explorer


Рис.2. Вот как Рис.1 отображается в браузерах FireFox, Opera, IE. Очевидно, что IE не отображает PNG правильно.
Прозрачный PNG в Internet Explorer


Рис.3. А вот после применения приема, как видите теперь PNG стал прозрачным.
Прозрачный PNG в Internet Explorer


И так, перейдем, наконец то к применению приема.
1. Вам нужны файлы “null.gif” и “pngie.js”. Они должны находиться в одной папке, или хотя бы тогда прописывайте адрес к файлу «null.gif» в «pngie.js»
2. В страницу вставляйте код вызова скрипта, в самый конец страницы:

<script type="text/javascript" language="JavaScript" src="iepng.js"></script>

3. В страницу добавьте стиль:

<style>
IMG.iePNG { filter:expression(fixPNG(this)); position: relative; }
</style>

4. Задайте класс для картинки “iePNG”.
5. Задайте картинке обязательно ее истинные размеры с помощью параметров width, height.
6. Готово.
Интересные аспекты применения:
1. Вы можете вставлять CSS прямо в стиль объекта
Например

<img src=”star.png” width=100 height=100 style=” filter:expression(fixPNG(this)); position: relative;”>

2. Вы можете делать картинку фона прозрачной!
Например

<style>
div.teny{background-image:url(‘teni.png’); filter:expression(fixPNG(this)); position: relative;  }
</style>


Скачайте архив в нем находятся 2а нужных вам файла и пример применения - png.zip [9,26 Kb] (cкачиваний: 824)
 - 7402 - 9
miramakl:
Уметь слушать тишину - значит быть способным услышать бесконечность, как говорил Моцарт, на вашем сайте тишину не послушаешь, но много интересного при этом подчерпнуть можно - за что и спасибо большое, удачного вебмастеринга :)
19 июля 2009 18:41
toldora:
Что то не понимаю тут ничего
2 апреля 2009 13:38
Трион:
попробую зделать wink
27 марта 2009 03:21
Cabalist:
Спасибо конечно за статью!Но у меня есть сайт на ДЛЕ и прозрачный png вставляется через background в div,и никакой прозрачности я не наблюдаю в ИЕ 6,так вот как быть в этом случае?Может быть в ДЛЕ надо в какую-нибудь определённую папку скрипт класть?Только вот в какую?:)В общем помогите разобраться с этим вопросом плиз)
15 января 2009 16:21
Sergyk89:
а как поступать в таком случии как сделать прозрачной картинку

<td><div align="center"><a href="http://сайт" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','
;/templates/Transformer/images/menu/glavnay-1.png',1)"><img src="/templates/Transformer/images/menu/glavnay.png" name="Image2" width="143" height="57" border="0"></a></div></td>
14 января 2009 01:22
RedRat:
Всегда пожалуйста! Приходите еще! smile
14 ноября 2008 21:12
Китс:
smile
Огромное спасибо!!! Из всего найденного сработало только это. Респектище!
14 ноября 2008 20:40
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
 
© 2007-2010 Клуб Админов Проект l Цензура l Администрация l Метки статей
Дизайн сайта www.artoflogic.ru Rambler's Top100