menuクラス要素の中にa要素が入っているからではないでしょうか?
.menu {
background:url(../img/shard/menu_back.jpg) repeat-x;
border:1px solid #CCCCCC;
width: auto;
text-align:center;
font-size: 12px;
line-height: 18px;
margin: 2px 0px 2px 2px;
}
.menu:hover{
margin: 2px 0px 2px 2px;
border:1px solid #3773D2;
text-decoration: none;
}
上記の方法、menuクラスにhoverを指定するのが簡単ですが、IE等がa要素以外へのhoverに対応していません。
下記の様に、a要素で全ての装飾をするようにしたほうが良いと思います。
.menu a:link, a:visited {
background:url(../img/shard/menu_back.jpg) repeat-x;
border:1px solid #CCCCCC;
font-size: 12px;
line-height: 18px;
}
.menu a:hover{
border:1px solid #3773D2;
text-decoration: none;
}
これで二重にボーダーが表示されなくなります。
マージン等を取りたい場合には、それぞれにdisplay:block; を追加してブロック要素にすればよいかと思います。
完璧です!大変助かりました。ありがとうございました。