As a general rule its best to use a page wrapper to contain your content rather than setting a width to the body element. It’s mainly for historic reasons because older IE browsers don’t like this and some scripts have some trouble with it but it also affects the text zoom in odd ways in IE. For the sake of one div (which I have already saved you on the nav) it makes sense to avoid using the body element and sidestep all the issues.
Did you really want your nav at 50% width of the body which was already at 50% (If you did then no worries but I would have assumed the nav should have been full width)
With the above code in place you are looking at something like this:
Hope that was what you wanted and don’t worry about making mistakes as that is the best way to learn and we all have made the same mistakes at some time