Pues si quieres hacerlo con CSS, tal cual has dicho. Aunque estás confundido en cuando a
height: auto
, ya que es el valor por defecto de todos los elementos y no tienes que indicarlo. La gente le atribuye cosas mágicas a eso.
Y como dice Rafael, en esta y la mayoría de webs, para el formato del texto se hace desde algún lenguaje de servidor.
Tal vez te interese implementar cosas como
markdown, que suelen haber cosas hechas para todos los lenguajes.