Background: I need to have an inline element to which I can apply width and height via CSS.
AFAIK, img is the only way to have this behavior, currently.
I would rather not have the image point to a transparent pixel GIF on the server. It may be cached, but browsers queue it nevertheless, slowing down overall page speed. Other clients might not be caching at all.
PS No, floating div is not sufficient, it behaves differently from inline elements.
EDIT Sorry, I should have inserted the term “cross browser” somewhere. It must at least be working for FF≥2, IE≥7 and current Safari.
You could use the “data:” URI scheme to embed an image.
Other replaced elements might also work. Setting display to “inline-block” might also be worth looking into.