Scusami ma non ti capisco: se nel CSS hai scritto:
.primo
nell'html DEVI scrivere
class="primo"
E non può esserci neanche un solo carattere di differenza...
E poi come "chissà perchè non veniva centrato", mi sa che hai bisogno di andarti a rileggere come funzionano i posizionamenti dei css, perchè non hai le idee molto chiare...