Ese tipo de problemas suceden porque no se aplica un Reset CSS antes, o lo has aplicado?
En su forma mas sencillas es aplicar en la primera linea de tu css esto
Código HTML :
* {margin:0; padding:0}
Eso remover margenes y rellenos que hayan por defecto en los navegadores, y un ResetCSS mas completo seria este, del YUI
Código HTML :
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin:0;padding:0;}
table {border-collapse:collapse;border-spacing:0;}
fieldset,img {border:0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style:normal;font-weight:normal;}
ol,ul {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;}
q:before,q:after {content:'';}
abbr,acronym {border:0;}
Ambos son lo primero que debes llamar, para el mas largo puedes crear una hoja llamada reset.css y siempre llamarla como tu primera hoja de estilos, ambos deben ser la primera regla que se llame, estoy segura que si aplicas el primero que te dije y vuelves a poner el margin-right:30px no mas, no hubieras tenido ese problema, porque lo que hiciste en tu solucion fue quitar margenes a los otros lados, margenes que vienen por defecto en el navegador.