My question would be why are you putting a DIV in a Anchor -- I know the HTML-5 tards say it's ok with their goofy nonsensical relaxing of the structural rules, but guess what? It's STILL invalid in ALL prior versions of HTML/XHTML for a reason, and even most "HTML 5 compliant" browsers still choke on it behaving unpredictably.
Much less you didn't seem to be doing anything to the DIV you couldn't have done to the A... instead of the DIV inside the anchor:
<a href="link" class="homebtn">Home</a>
border-width: 0px 4px 4px 0px;
Not sure where you got the idea you can send pixel values to position, but in any case setting the anchor to display:block (or position fixed for that matter) lets it accept vertical padding, height, etc...
I'd probably also NOT be setting height on that, or padding in PX, or width in px, or border radius in px... or use fixed positioning given how crappy and annoying fixed elements on websites are...