All you really need is to set the width in the div and set the automatic margins. You do not need an external div ; the element will be located horizontally in any element of the level of the block in which it is contained, including the body.
.showtitle { with: 350px; margin-left: auto; margin-right: auto; text-align: left; }
Update
It's unclear what you mean by the desire that the width of the div be dynamic and yet be multi-line. At what point will the contents wrap, or do you want to do only manual line breaks? If you do content wrapping, will the stick div be 100% time when it is complete? If you do not want the width to be 100%, why should the maximum width be set?
You mentioned that you want the content to be left-aligned, but if it was contained in a centered block that automatically matches the size, then you basically request a centered inline element. If you want the content to be wrapped across multiple lines and left justified, you will need to specify the width or be in order with 100% width. If you want the lines of text to be automatically balanced, and then to resize the container, I think you're out of luck as far as CSS suggests.
Jacob source share