First change the navigation bar height to auto (not fixed size like “40px”). So the nav will be always with white BG - better design (in your case its looks like a bug):
Next you dont have enough space so the navbar go to the next line/row (Thats the way float works) . So this is also design issue. You also can use GRID for complex navbars (in your case only floats not always works).
If you really want to create a % layout you must remember for three elements for example the layout should be item1-width% + item2-width% + item-3-width% = 100%
In your case you give to the logo 30%. For the “phone” 50%. And Thats is. The third item (navbar list) will go to the next line or not (depend on his content)