Создавая слайд-шоу изображений, у меня есть контейнер div произвольного размера и соотношения сторон, в который я должен наилучшим образом вписать изображение, центрированное, с надписью, наложенной внизу изображения и подгонкой его ширины. Мое лучшее решение на сегодняшний день состоит в том, чтобы поместить изображение и заголовок в дочерний элемент контейнера, но у меня возникают проблемы с его центрированием. Это должно быть настолько просто, что я не могу поверить, что это не смотрит мне в лицо, но я не вижу этого. Приведенный ниже код использует изображение в портретном формате, но он мне нужен и для обработки ландшафта. Я использую React, поэтому jQuery отсутствует.
.container {
position: relative;
width: 80%;
height: 48vw;
/* 4:3 */
margin: 0 auto;
display: flex;
justify-content: center;
}
.img-wrap {
background-color: #efe;
}
img {
position: absolute;
max-width: 100%;
max-height: 100%;
}
.caption {
position: absolute;
bottom: 0;
color: #fff;
background-color: rgba(153, 153, 153, 0.541)
}
<div class="container">
<div class="img-wrap">
<img src="https://png.pngtree.com/thumb_back/fw800/background/20190223/ourmid/pngtree-full-aesthetic-aurora-night-sky-background-skystarry-skystarnight-viewbackgroundstar-image_87582.jpg" height="1600px">
<div class="caption">Caption Content</div>
</div>
</div>