Я пытаюсь создать простую галерею миниатюр, под каждым изображением есть текст. Однако, поскольку изображения, с которыми я имею дело, имеют разные размеры, я решил обрезать и центрировать каждое изображение в галерее. Я действительно сделал это, следуя инструкциям, приведенным здесь:
https://jonathannicol.com/blog/2014/06/16/centre-crop-thumbnails-with-css/
Однако тексты изображений появляются на изображении. Я не мог найти способ переместить текст ниже. Я попытался добавить отступы внизу, но padding-bottom
не работает. Я подозреваю, что это из-за линии height: auto
. Каким-то образом этот параметр не позволяет мне настраивать отступ в вертикальном направлении.
Мой html:
<div class="gallery">
<img src="https://placehold.it/900x500" alt="">
<div class="desc">My Text</div>
</div>
<div class="gallery">
<img src="https://placehold.it/500x900" class="portrait" alt="">
<div class="desc">My long long text</div>
</div>
Стили:
.gallery {
position: relative;
width: 200px;
height: 200px;
overflow: hidden;
margin-top: 5vh;
margin-right: 0.5vh;
border: 1px solid #ccc;
float: left;
}
.gallery img {
position: absolute;
left: 50%;
top: 50%;
height: 100%;
width: auto;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.gallery img.portrait {
width: 100%;
height: auto;
}
.desc {
display: block;
position: absolute;
top: 85%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
jssfiddle:
https://jsfiddle.net/8ue603on/
Спасибо!