Remove the !importants as not only are they unnecessary (your new code is both more specific AND comes later) but potentially confuse you.

First test your first-child on the child itself:

.footer ul li:first-child {background-color: #00f; overflow: hidden;}

(added the overflow because the anchors are floated)

Other than the fact that you might have more HTML markup than necessary, you seem to be using first-child properly. When testing it, though, for now try to keep the same format as you used for regular a'spadding: 0 10px 0 0; border-right: 0;just because if you're testing out a feature you want to know if you've used the feature correctly... which is easiest if, for now, everything else is the same.