La largeur du div "topNav" change de quelques pixels lorsque son style de position est modifié de relatif à fixe. J'ai trouvé un plugin jquery (http://imakewebthings.github.com/jquery-waypoints/) qui peut effectuer la même fonctionnalité que je recherche élégamment, mais je pense que c'est une surenchère à cette fin.
EDIT: Ma question est de savoir comment éviter de changer les tailles de div.
Consultez le code à:
Http://jsbin.com/azace5/edit
Vous devez supprimer la "marge par défaut" de la page. Cela le fera dans "chaque navigateur":
html, body { margin: 0; padding: 0 }
Ou vous pouvez ajouter une largeur minimale.
min-width:600px;