The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Yes, and that should be the normal way to do it, as images are presentation. Just set the <a> element to display:block and set the width and height to match the image. If you need to set links side by side, then use float:left instead of block display (floating converts it to block display). The <a> needs to be block display as you cannot set heights and widths on inline elements.

Yes, and that should be the normal way to do it, as images are presentation.

Not necessarily, images can also be used to convey meaning or used for functionality so an alternative must also be provided in these case either through the use of alt text or image replacement to ensure that users without CSS or images are still able to use or understand the site.

It sounds like this is for navigation and therefore I would suggest using a background image but I'd also suggest doing it using the image replacement technique which I've posted in another thread.

If the image is important to content (such as a navigation) the you can have it in the html and then on rollover just hide the image and let the background show through which already holds the rollover state. This method actually produces the only method of avoiding the IE dreaded hourglass flicker.