vedo confusione sull'argomento
Per allineare un div al centro è sufficiente dargli margin: auto, a parte su IE6< dove è necessario metterlo in un altro contenitore con text-align: center. I div hanno sono per default display: block, quindi non è necessario ripeterlo, e non è necessario che il contenitore sia un altro div. Quello che serve è dare una larghezza al div, che altrimenti si allarga al 100% di default.
Riassumendo:
Codice:
#contenitore { text-align: center } /* per IE6< */
#contenitore DIV {
margin: auto;
width: ....;
text-align: left; /* per rimediare il center di cui sopra */
}
per quanto riguarda <hr>, è sempre stato un tag un po' strano, gestito diversamente dai vari browser, è un po' una piaga. Mi sembra che tutti i browser lo centrino automaticamente, eccetto IE come da preverdersi, persino il 7.
Provando, sembra un che un text-align: center; risolva il problema