Можно сделать переход на градиентах, используя небольшой взлом:
Приведенный ниже код установит прозрачность на 0,3 для самого темного цвета.При наведении указывается этот цвет другим цветом.Так как прозрачность может быть изменена, она будет генерировать тот же эффект.
Я также добавил непереходную версию для Mozilla и IE.
.menu li a {
background-color: #ffffff;
background: -webkit-gradient(linear, left top, right top, from(#eeeeee), to(rgba(238, 238, 238,0.3)));
background: linear-gradient(left,#eeeeee, #ffffff);
background: -moz-linear-gradient(180deg, #eeeeee, #ffffff);
}
.menu li a:hover {
background-color: #006613;
-webkit-transition-property: background-color, color;
-webkit-transition-duration: 0.3s;
-webkit-transition-timing-function: linear;
background: linear-gradient(left, #006613, #eeeeee);
background: -moz-linear-gradient(180deg, #006613, #eeeeee);
}