Un poco de material de lectura:
http://www.librosweb.es/css/capitulo9.html
En cuanto a tu problema es que seguramente no usas un "reset css".
Veo que aplicar margin:0, pero te olvidas del padding.
Lo mejor siempre es poner al inicio de la hoja de estilos un reset para que luego puedas definir los valores de las propiedades a tu conveniencia.
Por ejemplo, uno muy básico:
Código CSS:
Ver original/* reseteo de estilos por defecto*/
* {margin:0; padding:0; outline: 0;}
a {outline:none; text-decoration:none;}
a img{border:0;}
ul {list-style:none}