Pourquoi est-width: 100% ne travaillent pas sur les div {display: table-cell}?

Je suis en train de verticalement et horizontalement centre de certains contenus en superposition d'une image de la diapositive (flexslider). Il y avait des questions similaires à celui-ci, mais je ne pouvais pas trouver une solution satisfaisante qui est appliqué directement à mon problème. En raison des limitations de FlexSlider, je ne peux pas utiliser position: absolute; sur la balise img dans mon œuvre.

J'ai presque solution de contournement ci-dessous travail. Le seul problème est que je ne peut pas obtenir la largeur & hauteur déclarations de travailler sur inner-wrapper div avec la display: table-cell de la propriété.

Est ce comportement standard, ou ai-je raté quelque chose avec mon code? Si c'est le comportement standard, quelle est la meilleure solution à mon problème?

HTML

<ul>
    <li>
        <img src="#">
        <div class="outer-wrapper">
            <div class="inner-wrapper">
                <h1>My Title</h1>
                <h5>Subtitle</h5>
            </div>
        </div>
    </li>
</ul>

CSS

html, body {
    margin: 0; padding: 0;
    width: 100%; height: 100%;
}

ul {
    background: #CCC;
    height: 100%;
    width: 100%;
    list-style-position: outside;
    margin: 0; padding: 0;
}

li {
    width: 100%;
    display: table;
}

img {
    width: 100%;
    height: 410px;
}

.outer-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    margin: 0; padding: 0;
}

.inner-wrapper {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 100%;
    height: 100%;
}

Remarque: l'centrée sur le contenu sera plus que de 1 élément, donc je ne peux pas utiliser la hauteur de la ligne de truc.

jsFiddle.

InformationsquelleAutor timshutes | 2013-07-19