Почему вы даете всем li один и тот же класс?
Дайте ul класс для стилизации содержащихся li, а затем присвойте li свой собственный класс, например:
<ul class="sameforall">
<li class="one">menu 1</li>
<li class="two">menu 2</li>
<li class="three">menu 3</li>
<li class="four">menu 4</li>
</ul>
.sameforall {color: red;}
.sameforall .one {background-color: blue;}
.sameforall .two {background-color: green;}
.sameforall .three {background-color: pink;}
.sameforall .four {background-color: purple;}
Вы не можете получить доступ к HTML, CSS3 поддерживает: выбор nth-child () psuedo - http://css -tricks.com / how-nth-child-works /
<ul>
<li class="sameforall">menu 1</li>
<li class="sameforall">menu 2</li>
<li class="sameforall">menu 3</li>
<li class="sameforall">menu 4</li>
</ul>
.sameforall:nth-child(1) { background-color: blue; }
.sameforall:nth-child(2) { background-color: green; }
.sameforall:nth-child(3) { background-color: pink; }
.sameforall:nth-child(4) { background-color: purple; }
Обратите внимание, это не будет работать в большинстве старых браузеров.