Bueno, mucho que explicar no hay, el * es un comodín, y le estas aplicando eso indiscriminadamente a todo, muy diferente de haber echo un reset, muy básico por cierto
html, body,div,img {
margin: 0;
padding: 0;
border: none;
}
Hay varios resets bastante usados dando vueltas por la web (... hmmmm, estoy pensando que a lo mejor no sabés muy bien que es un reset, pero sigo), generalmente me los hago a medida, pero de usar uno mas o menos confiable, uso este
Código CSS:
Ver originalhtml{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,
textarea,select,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border
-spacing:0}fieldset,img{border:0}address,button,caption,cite,code,dfn,em,input,optgroup,option,select,strong,textarea,th
,var{font:inherit}del,ins{text-decoration:none}li{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;font-variant:normal}sup{vertical
-align:baseline}sub{vertical-align:baseline}legend{color:#000}
El reset, debe ser el primer css al que se llama, y despues, sobre eso, vas sobreescribiendo las propiedades de a cuerdo a lo que necesitas, si te fijas, este reset no usa ningún asterisco, pero tambien le da 0 margin y padding a las ul. entonces en tu css, les darías el margen que necesitas, o sencillamente, eliminas ul, ol y li del reset
Se entiende?
Saludos