Thats because the word 'sentence' is more than 100px wide and by default text only breaks at spaces. Change it to the following [although it can make it harder to read]:
h1 {
min-width:100px;
max-width:100px;
text-align:center;
-ms-word-break: break-all;
word-break: break-all;
// Non standard for webkit
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
hyphens: auto;
}
Or make it wider. You could center it with margin: 0 auto; - but the word sentence still wont be centred within the h1.
Edit: This may be what you're actually trying to achieve.
If you want to force each word on a new line and keep the longer words centered you could do the following:
h1 {
min-width:200px;
max-width:200px;
text-align:center;
white-space: pre-line;
}
<h1>this
is
a
really,
really
long
sentence</h1>
white-space: pre-line; will put a line break where ever there is a line break in the html. You will still have to make the whole element as wide as the widest word though.
http://jsfiddle.net/uK7w6/1/