Usa posicion absoluta, colocale unas coordenadas a mita del navegador (es decir 50%)
Despues para centrar el "div" le damos un margin negativo con la mitad de sus dimensiones (la mitad de ancho y alto.
Ejemplo:
Código CSS:
Ver original#caja {
width:300px;
height:300px;
position:absolute;
top:50%;
left:50%;
margin-top:-150px; //la mitad de height
margin-left:-150px; //la mitad de width
}
Saludos.
PD: Si la altura es auto (no sabes cuanto será, es decir, se ajusta al contenido), creo que lo único con lo que se podría (que yo podría, mejor dicho), sería con javascript. con CSS no puedo, al menos que defina la altura.
Ojala y un argonauta del CSS nos pueda ayudar en este caso