A: 

dont use it as background. Use it as <img/> and set exact height & width.

Zayatzz
If the image is logically a background image it should remain as such.
annakata
:) i have applied this style almost everywhere.
this. __curious_geek
+3  A: 

You probably use a png transparency fix script for IE6, I think the problem lies there because it probably applies a scale method.

Read the comments on this page.

The documentation of your png transparency fix will probably cover this.

I personally found using transparent pngs in IE 6.0 to be a major pain in the ass despite all the various fixes out there. I know this is not an original answer, but I would probably just do a conditional check and replace the image with a gif or jpg version if you really need to support IE 6.0 here, instead of relying on hacks to support this. Or just drop IE 6.0 already, this year, I've talked every single client into not supporting IE 6.0 on their new projects. Seriously, it's about damn time that thing stopped making our professional lives so god damn miserable.

kitsune
m already using JQuery PNGFix plugin for this and its working well across all browsers but this problem still persists on ie6
this. __curious_geek
Listen to strager, the plugin you use will be using AlphaImageLoader to render it... It's obvious that this works well across other browsers because they don't need the pngFix in the first place
kitsune
"... it's about damn time that thing stopped making our professional lives so god damn miserable." I like it
jalchr
+2  A: 

If you're using the AlphaImageLoader filter, make sure sizingMethod='scale' is not present. Remove it or set it to image instead of scale.

strager
m not using AlphaImageLoader.
this. __curious_geek
@s_ruchit, Yes you are. The plugin you are using uses the filter. Edit its source code and possibly contact the author of the plugin about this issue.
strager
A: 

set actual width and height for the background image and background-position.

    .error
{
    color: #D8000C;
    background-color: #FFBABA;
    background-image: url('error.png');
    background-position:left;
    width:251px; 
    height:72px; 
    background-repeat:no-repeat;
}

here width and height are actual size of the error.png image. hope it helps.

paulrajj
this will not work. width and height will be applied to the element that implements the style 'error'.
this. __curious_geek
This *can* work if you add another element in the div with the image's size, and let the image stretch to it. However, this would be a workaround...
Kobi
A: 

Belatedpng is the best script I have found for this problem: http://www.dillerdesign.com/experiment/DD%5FbelatedPNG/

matpol