Первое примечание: портретное изображение никогда не будет занимать то же пространство, что и горизонтальное изображение, без искажения соотношения сторон изображения, что вы и видите в своем коде / примере.
Предполагая желаемый эффект чтобы они выглядели «одинакового размера», в результате вы получите элемент изображения в квадрате. В вашем примере .max-image-set
Если вы создадите портрет и пейзаж с одинаковой максимальной высотой, у вашего портретного изображения будут пробелы слева и справа от него. Поперечно, если вы создадите их с одинаковой максимальной шириной, у вас будет пробел выше и ниже пейзажного изображения (при условии, что они в квадрате, и желаемый эффект состоит в том, чтобы они выглядели «одинакового размера»)
.main-image-set a {
display: flex; /* for alignment */
justify-content: center; /* horizontally align portrait image */
align-items: center; /* vertically align landscape image */
/** fixed width, creates a square for our image to live */
width: 414px;
height: 414px;
/* Could be styles with a responsive technique a like aspect ratio prop, but that is outside the scope of here */
background-color: #eee; /* so you can see the "square", for demo purposes */
}
.main-image-set img {
width: auto; /* to counter any width attributes and allow intrinsic image width */
height: auto; /* to counter any height attributes and allow intrinsic height */
max-width: 100%; /* scale with the parent element width */
max-height: 100%; /* scale with the parent element height */
}
Это приведет к чему-то вроде этого ...
![enter image description here](https://i.stack.imgur.com/o1O71.png)