Nick, your issue is in the li:first-child
selector. Specifically the padding
attribute, where it clears the padding, where you're missing the spacing.
- Many of your
:first-child
selectors are redundant, and don't need to be re-specified. - Mixing
position:fixed
withfloat:left
is generally not a good idea as your CSS will be fighting layout structure. - You only need a
position:fixed
for the main container, the rest the nav's children will be relative to that. - There's a lot of unnecessary padding and such, you should use your browser's DOM inspector to play with the layout.
Check this JSFiddle that's cleaned it up.