Я, конечно же, не хочу добавлять в кучу вертикальных выравниваний вопросы CSS, но я потратил часы, пытаясь найти решение, но пока не помогло. Вот ситуация:Вертикально центрируйте изображение жидкости в контейнере для жидкости
Я создаю галерею слайд-шоу изображений. Я хочу, чтобы изображения отображались так сильно, как позволяет окно пользователя. Таким образом, у меня есть этот внешний заполнитель:
<section class="photo full">
(Да, я использую элементы HTML5). Который имеет следующий CSS:
section.photo.full {
display:inline-block;
width:100%;
height:100%;
position:absolute;
overflow:hidden;
text-align:center;
}
Далее изображение помещается внутри него. В зависимости от ориентации изображения, я установить ширину или высоту до 75%, а другая ось авто:
$wide = $bigimage['width'] >= $bigimage['height'] ? true: false; ?>
<img src="<?= $bigimage['url'] ?>" width="<?= $wide? "75%" : "auto"?>" height="<?= $wide? "auto" : "75%"?>"/>
Таким образом, мы имеем жидкости наружный контейнер, с внутренним изображением для текучей среды. Горизонтальное центрирование изображения работает, но я не могу найти способ вертикально центрировать изображение внутри его контейнера. Я исследовал методы центрирования, но большинство предполагает, что контейнер или изображение имеют известную ширину или высоту. Тогда есть дисплей: метод table-cell, который, похоже, тоже не работает для меня.
Я застрял. Я ищу решение для CSS, но я также открыт для js-решений.
@Ferdy Является СЕКЦИЯ элемент непосредственным потомком ТЕЛА? –
@Ferdy Также отправьте образец полученного HTML-кода для элемента IMG. –
@Sime: Да. Настоящая демо-страница temp: http://ferdy.dnsalias.com/apps/jungledragon/html/tag/92/slideshow/recent/10 – Ferdy