Been there, done that :-)
The CSS solution is an obvious one and we experimented with that as the first option. But it did not render the web pages correctly across all mobile devices. We tried different options and finally hit jackpot with this solution. The basic premise of the solution is that, while different mobile devices may treat and render your HTML differently, all of them will render your image as it is. However non-standard the browser, however old the device, if it has the capability to surf the internet, it will show your banner image as it is. This is the reason why we chose to adopt this approach.