Показать сообщение отдельно
  #2 (permalink)  
Старый 25.09.2010, 15:24
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Для jQuery есть плагин pngFix/


доп. вообще, на мой взгляд самое элегантное решение

fixpng.js
function fixPNG(element){
	if(/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){
		var src;
		if(element.tagName=='IMG'){
			if (/\.png$/.test(element.src)){
				src = element.src;
				element.src = "/images/spacer.gif";
			}
		}
		else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if(src){
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
		}
		if(src){
			element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
		}
	}
}


Инициализация:

<!--[if lt IE 7]>
<script type="text/javascript" src="/fixpng.js"></script>
<style type="text/css">
.iePNG, img { filter:expression(fixPNG(this)); }
.iePNG a { position: relative; }
</style>
<![endif]-->

Последний раз редактировалось monolithed, 25.09.2010 в 15:34.
Ответить с цитированием