PNG fix ie6 с поддержкой background-position
В этой статье я рассказывал как можно бороться с полупрозрачными пнг в ие6. Но недавно я для себя открыл новый способ борьбы, и, главное, с поддержкой background-position.
В данном способе мы подключаем скрипт, в параметрах функции задаем классы или айдишники элементов, в которых нужно профиксить полупрозрачные png и, вауля, всё работает! Данный скрипт не использует фильтры (!), как все другие стандартные способы, а использует VML (честно говоря, пока не знаю что это), что даёт нам новое видение решение проблемы с полупрозрачными png в ie6.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Png fix ie6</title> <style type="text/css"> body { background:url(body.png); } .pngBlock1 { width:100px; height:100px; background:url(png24.png); border:1px solid #F00; } .pngBlock2 { width:500px; height:200px; background:url(png24.png); border:1px solid #F00; } .pngBlock3 { width:500px; height:500px; background:url(png24.png) repeat-y 200px 0; border:1px solid #F00; } </style> <!--[if IE 6]> <script type="text/javascript" src="ie6fix.js"></script> <script type="text/javascript"> DD_belatedPNG.fix('.png24'); </script> <![endif]--> </head> <body> <h1>Картинка вставленная через тег img</h1> <img src="png24.png" class="png24" alt="" /> <h1>Картинка вставленная фоном</h1> <div class="pngBlock1 png24"></div> <h1>Блок с повторяющимся фоном</h1> <div class="pngBlock2 png24"></div> <h1>Блок с background-repeat</h1> <div class="pngBlock3 png24"></div> </body> </html> |
Как видите мы для ие6 подключаем скрипт, и в параметрах передаем классы, где нужно пофиксить пнг. Классы или айдишники можно задавать через запятую DD_belatedPNG.fix(‘.png24, #pngfixBlock, .menu’). Скрипт весит всего 7кб. Разработчики скрипта тут: www.dillerdesign.com/experiment/DD_belatedPNG.
Метки: background-position, ie6, png
Комментарии (13) на “PNG fix ie6 с поддержкой background-position”
Оставить комментарий
Для вставки кода используйте <code> ... </code>.
Спасибо за фикс, отлично все работает
Еее, данный фикс оказался чуть ли не единственным нормально работающий
как с img так и фоном при этом ничего не искажая.
Спасибо большое за фикс
1 минута и проблема решена. Спасибо.
НИХУЯ НЕ РАБОТАЕТ!
Димон, пиздишь, все заебись работает.
спасибо большое за фикс!
У меня пример НЕ РАБОТАЕТ. Картинки вобще не показываются!
Странно, в иетестере работает. Надо будет проверить на настоящем ие6.
Есть такое решение
http://code.google.com/p/ie7-js/
Использую IE PNG Fix на http://www.zapomninas.ru
Для файлов в формате png24 почему-то не работает. В png8 — всё нормально. В чем может быть причина? этот скрипт не поддерживает такой формат (png24)?
Олег, пнг8 — это как гифка, есть только 2 состояния прозрачности (прозрачно/не прозрачно). В ие6 прозрачность пнг8 и так работает без всяких скриптов. А вот пнг24, это уже другое дело. У меня пример в данной статье работает (внизу еще ссылка на архив). Дайте ссылку где не работает. P.S. В наше время уже можно просто забивать на ие6 и не париться.