Это сложный выбор макета, я постараюсь вам помочь. Во-первых, мы не должны использовать преобразование при выравнивании изображений, потому что оно выполняется на этапе компоновки в конвейере рендеринга браузера, следовательно, оно не будет учитывать расположение, вызывая перекрытие, с которым вы сталкиваетесь.
Мое предложение здесь:чтобы вы выровняли одно изображение в правом верхнем углу контейнера, а другое - в правом нижнем углу. и основываясь на ширине и высоте контейнера, изображения должны быть выровнены.
.story__image-container {
position: absolute;
bottom: 0;
left: 0;
}
.story__image {
position: absolute;
right: 0;
top: 0;
}
Чтобы размеры изображений соответствовали ширине контейнера, мы добавим для каждого ширину по умолчанию, относительную ширину контейнера и максимумабсолютное значение, чтобы оно не было слишком большим.
.story__image-container {
position: absolute;
bottom: 0;
left: 0;
width: 50%;
max-width: 300px;
}
.story__image {
position: absolute;
right: 0;
top: 0;
width: 80%;
max-width: 400px;
}
Вы столкнетесь с другой проблемой, высотой контейнера, как сделать его относительно его ширины? Вы можете использовать padding-top
с процентным значением, но таким образом вы не сможете установить максимальное значение для высоты и будет очень большим для настольных компьютеров (вы можете использовать медиа-запрос для этого, но я не рекомендую это). поэтому здесь я сделаю высоту контейнера относительно viewport
ширины и максимального абсолютного значения.
.story__images {
position: relative;
height: 120vw;
max-height: 700px;
}
Вот обновленная версия вашей скрипки с моим предлагаемым решением: https://jsfiddle.net/Abdelrahman3d/d7xLby5w/2/
Я думаю, вам нужно будет отрегулировать значения ширины / высоты в соответствии с вашими потребностями дизайна, но вы поняли мою основную идею.