Se usi il posizionamento assoluto i margini non servono.
Ma se non devi centrare in vert, non ti serve dare posizionamento assoluto (che ha delle controindicazioni notevoli).
Comunque ci sono due metodi base per centrare: una con i margini automatici ed una con i posizionamenti assoluti.

Per centrare con i margini si fa:
codice:
html, body {
  width: 100%;
  text-align: center;    /* se si vuole che funzioni anche in IE quirks mode */
}
#centra {
  margin: 0 auto;
  text-align: left;      /* per controbilanciare quello fuori */
  background: blue;    /* o il colore che vuoi - solo per le prove */
}
Poi puoi aggiungere anche i bordi, ma quelli escono oltre la larghezza del #centra (nei browser standard), per cui devi avere gli 8 px di spazio orizz. in piu`, se vuoi mettere bordi di 4 px.

Ma ti consiglio di fare un passo alla volta.
Ho inserito uno sfondo, che serve solo per vedere se effettivamente il #centra sta in centro al body.