One solution (depending on your specific case) could be to use the new CSS background-size property. I left the declarations separate for clarity:
 div.yourDiv { background-image: url('yourImage.jpg'); background-repeat: repeat; background-size: contain; } 
Then, regardless of your div size, your image will be completely broken without being cropped. Older browsers will simply get a tiled image, which may or may not be a problem.
 source share