Pues tienes la idea, se hace con hover
Para tu primer pregunta creo que podrias usar algo asi
Código HTML:
<head>
<style>
#contenedor div a {
width: 200px;
color: #fff;
background-color: #000;
text-decoration: none;
display: block;
}
#contenedor div a:hover {
color: #ff0;
background-color: #00f;
}
</style>
</head>
<div id="contenedor">
<div><a href="#">opcion 1</a></div>
<div><a href="#">opcion 2</a></div>
<div><a href="#">opcion 3</a></div>
</div>
Para la tercer pregunta no entendi muy bien pero creo que es basicamente lo mismo, unicamente tendrias que utilizar una imagen en la propiedad
background