Мне показалось, что я разобрался, как это сделать, но, я думаю, я до сих пор не справился. Я пытаюсь достичь этого с минимумом css.Отзывчивое центрированное изображение: вертикальное изменение размера - НЕ
Изображение центрировано, и если вы изменяете размер окна по горизонтали или по диагонали (с акцентом на горизонтальное), все будет хорошо.
НО, если вы просто измените размер по вертикали, размер изображения останется на его номинальной высоте и добавит полосы прокрутки.
Я пробовал различные комбинации max-height, max-width, height и width, но никто, кажется, не решил его.
Мои изображения будут разных размеров между шириной max 1024px и высотами max 768px;
Мои усилия можно увидеть на
http://mclportal.net/AtLast/DeadCentre.html
#lightbox{
background: lightblue;
padding: 0px;
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
#slide{
background: #ffdb4c;
/* height: 300px; */
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
img {
max-width: 800px;
max-height: 600px;
display: block;
margin: auto;
}
Markup:
<body>
<div id="lightbox">
<div id="slide"> <img src="http://lorempixel.com/800/600/" id="myImg"/>
</div>
</div>
Я тестирование с MAC Mountain Lion и последним Firefox и Chrome
Просто испытанного с SAFARI и он не реагирует ни в одном направлении!
'# slide' нуждается' высота: 100% и '' img' нуждается Макс-высота: 100% ' – esswilly
Теперь изменение размера работает только по вертикали не по горизонтали и вертикали центр ушел. – mcl