Deinen Unterpunkten keine feste Breite in Pixel geben. Darüber hinaus hättest du für diese Variante bei
PHP Code:
nav ul li {text-align: center;}
ändern müssen.
Dein Problem war, dass du zwar in der festen Breite das zentriert hast, aber die Wörter ja unterschiedlich lang sind und somit unterschiedlichen Abstand zum Rand der 150px Breite haben.
In meinem Fiddle habe ich die feste Breite weggenommen und einfach padding gesetzt.
Wenn man es noch schöner haben will, nimmt man beim ersten und letzten li jeweils den padding weg, damit es mit dem Grid (z.B. vom wrapper-Container) übereinstimmt.
PHP Code:
nav ul li:first-child {padding-left: 0px;}
nav ul li:last-child {padding-right: 0px;}