If you post just the empty HTML and CSS here we might be able to help.
One method that I use when I run into this kind of bug is to try removing everything except the basic HTML and CSS. Then see if the layout works as expected. If it does, I'll add in the code part by part and see at which step does it mess up.
Kinda like how you would troubleshoot a faulty computer: take out everything except the basic essentials, turn it on. Then put in the ram, hard drive, graphics cards, step by step and see which one is causing the problem.
Good luck! ^__^
P.S.
Based on just the two lines of codes you posted, all I can say is that "height 480 px" restricts the height to exactly 480. When you relax that condition, the height goes to 485 px, meaning there has to be something in the div that is taking up 5 px.