IE7 поддерживает прозрачность PNG.Если вы хотите поддерживать IE6, вы можете использовать что-то вроде строба браузера (что является уродливым хаком).
Используйте в вашем CSS селекторы, которые IE <7 не поддерживает: </p>
html>body #transparent_png {
background: url(gfx/transparent_png.png);
background-repeat: no-repeat;
}
#transparent_png {
/* additional properties here */
}
стиль html> body #transparent_png игнорируется IE6.Затем мы используем уродливый фильтр DXImageTransform в отдельном файле .css для прозрачного отображения png в IE6.Но этот css должен быть загружен только если версия ie меньше 7:
html header:
<!--[if lt IE 7]>
<style type="text/css" media="screen, projection">
@import "iefixes.css";
</style>
<![endif]-->
iefixes.css содержит что-то вроде этого:
#transparent_png {
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/transparent_png.png');
}
К сожалению, этот фильтр не поддерживает repeat-x или repeat-y.Но с этим взломом гейта вы могли бы отобразить уродливую размытую тень gif для IE 6 вместо более приятной тени png:).
Но есть также свойство sizingMethod для фильтра DXImageTransform (смотрите http://msdn.microsoft.com/en-us/library/ms532920%28VS.85%29.aspx),, чтобы вы могли масштабировать изображение до размера его элемента контейнера:
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gfx/transparent_png.png',sizingMethod='scale');