Gotcha. That’s because of the 100% vs auto thing. These days everyone just puts “box-sizing: border-box” on everything to make it go away.
This explains a bit more about what you’re seeing
http://stackoverflow.com/questions/28353625/why-does-percent...
I have no doubt there is a 'logical reason' for the behaviour but it doesn't stop it being annoying to work with.