CSS doesn't stretch an image to fill a cell the way (I think) tables do. The image is what it is. If you want it to fill a div, it needs to be big enough for whatever size the div could be, or else repeat in one or both directions.
An alternative for images that fade at one edge is to give the div a background-color to match that edge, so there is no visible break.




