Sólo hay que darle a la lista texto centrado (por ejemplo, ul. nav { text-align: center; } ) y a los elementos de la lista inline-block (por ejemplo, ul. nav li { display: inline-block; } ). Si quieres hacerlo con margen por la razón que sea, busca en width: fit-content; .