Я хочу создать простую фотогалерею. Я хочу масштабировать каждую фотографию таким образом, чтобы она имела максимальный размер в окне с учетом ее исходного соотношения.CSS: Как поместить (и растянуть) несколько изображений в окно просмотра
В настоящее время у меня есть для каждой фотографии в <img>
со следующими стилями
html, body {
height: 100%;
}
img
{
display:block;
width:auto;
height:auto;
max-width:98%;
max-height:95%;
}
Это хорошо масштабируется вниз изображения, которые в большой, чтобы поместиться в окне просмотра. Однако, если изображение меньше, чем окно просмотра, оно не растягивается. Любая идея, как я мог бы добавить это растяжение без Javascript?
Я могу только думать о решении, которое требует от меня знать отношение изображения (тогда я могу установить ширину и высоту с использованием значений vh и vw) заранее, и я хотел бы избежать этого. Кроме того, я не люблю устанавливать его как фоновое изображение страницы, охватывающей div, с background-size: cover
. Это приведет к глупому разрыву между моими изображениями, если я не знаю отношения изображения.
Любая идея? :) Я знаю, что это, вероятно, невозможно ...
Спасибо!
Но изображение будет изменять размер не-propertionally. Используйте min-height и height: auto. вы можете установить ширину только для ширины или высоты и задать свойство auto для другого – Kumar
в порядке, я исправим тогда –
Спасибо за ваши усилия. Есть ли способ, которым он также разбирается в высоте окна просмотра и сохраняет соотношение? В вашей демонстрации ширина всегда равна 95%, а высота более 100%, если рамка слишком узкая. Если я добавляю высоту: 100% для тегов и тегов html, то соотношение сторон не сохраняется: [link] (https://jsfiddle.net/1qgn1ag7/2/) – cbaumann