Hast du dem div eine feste Breite gegeben? Wenn ja, mach sie weg.
Ja, div hat eine feste Breite wegen der Positionierung (ich kenne keine andere Lösung): z.B. der 800. Pixel soll das Zentrum des Textes sein:
-> left:600px (linker Rand des Div-Blocks)
-> Width:400px (breit des Div-blocks, und somit maximale Textbreite, in der er noch korrekt zentriert wird, ist er länger wird er nur über den rechten Div-Rand rausgeschrieben, nicht auch über den linken)
Wiegesagt, der Text ist variabel, man weiß also vorher seine genaue Länge nicht. Deshalb wirds ohne meine Lösung mit fixer Breite nicht funktionieren, bzw. hat text-align=center ohne fixe Breite ja gar keinen Sinn, oder? ;-).