Я пытаюсь вертикально и горизонтально центрировать некоторый контент, накладываемый на слайд изображения (flexslider). Были некоторые аналогичные вопросы к этому, но я не мог найти удовлетворительное решение, которое непосредственно касалось моей конкретной проблемы. Из-за ограничений FlexSlider я не могу использовать position: absolute;
в теге img в своей реализации.
У меня почти нет обходного пути ниже работы. Единственная проблема заключается в том, что я не могу заставить объявления ширины и высоты работать на inner-wrapper
div с свойством display: table-cell
.
Является ли это стандартным поведением, или я что-то пропускаю с кодом? Если это стандартное поведение, какое лучшее решение для моей проблемы?
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%;
}
Примечание: центрированный контент будет состоять из более чем одного элемента, поэтому я не могу использовать трюк линии линии.