There are loads of hacks around of varying reliability and complexity, but the simplest method I have found yet is the following.
- The outer div is set to text-align: center
- The inner div is set to display: inline-block
That's it. The fact that the inner div is set to inline-block means it picks up its parent's setting of text-align to center itself. Is kinda wierd, but works on all the browsers I've so far tested.