уберите у выбранного пункта меню аттрибут href.
дайте ему class="selected".
вместо
Код:
ul#menu a:hover {background: url(img/b1.gif) no-repeat right top;}
напишите правило
Код:
ul#menu a.selected, ul#menu a:hover {background: url(img/b1.gif) no-repeat right top;}
.
если фоновые картинки пунктов меню различаются (в вашем случае они с разным текстом), то спрячте текст (методов полно и на этом форуме они также обсуждались; например: поместить текст в ссылке в дополнительный и написать правило ul#menu a span {dispaly:none;}), каждому пункту меню дайте id и к этому id привязывайте фоновые картинки. придется написать пару правил для каждого пункта меню и эти пары буду следующего вида:
Код:
ul#menu a#mm_0 {background: url(img/b1.gif) no-repeat left top; width: 80px;}
ul#menu a.selected#mm_0, ul#menu a#mm_0:hover {background: url(img/b1.gif) no-repeat right top;}
.
меняется только id пункта меню, имя файла соответствующей ему картинки и его размеры (в примере 35px и 80px).
и общий код для всех пунктов
Код:
ul#menu a {display: block; height: 35px;}
ul#menu a span {display: none;}
.
ps: ul#menu или что у вас там для того, чтобы правило не распространялось ни на какие ссылки в документе, помимо ссылок в меню. всё просто
pps: если можете залезть на своем сайте в php.ini, и если вас не смущают однотипные имена картинок с номерами, то можно сделать формирование этих правил частью функций CMS, и, в дальнейшем, добавлять пункты меню в CMS и о CSS не думать
но это уже лирика...