Авто-размер фото

354
25 июля 2017, 16:49

У меня такой вопрос как сделать чтобы каждое фото в сайте адаптировалась с помощью блоков вот например как на скриншоте как бы например в инстаргаме любое фото адапитруется с помощью div я подумал с помощью боотсрап там только ширина а высота я не пойму..

Answer 1

Как вариант можно использовать абсолютное позиционирование изображения относительно контейнера. То есть ширину задавать на весь размер контейнера через width: 100%, высота, как известно, установиться пропорционально. И после этого установить верхнюю позицию изображения как top: 50%. А дальше используем правило transform: translateY(-50%). Благодаря этому изображение впишется по высоте в контейнер. Естественно, у контейнера нужно указать свойство overflow: hidden, чтобы скрыть выходящие за его края части изображения.

.gallery picture { 
  display: inline-block; 
  margin: 5px; 
  position: relative; 
  overflow: hidden; 
  width: 200px; 
  height: 200px; 
} 
 
.gallery img { 
  position: absolute; 
  top: 50%; 
  transform: translateY(-50%); 
  width: 100%; 
}
<div class="gallery"> 
  <picture> 
    <img src="http://placehold.it/150x220" /> 
  </picture> 
  <picture> 
    <img src="http://placehold.it/220x250" /> 
  </picture> 
</div>

В примере видно, что размеры картинок подгружаются разные, но благодаря стилям они масштабируются и вписываются в контейнер по вертикали.

Answer 2

Можно пихать изображение в блок с помощью background-image, а ресайзить с помощью background-size: cover или contain

Answer 3

Например:

<div class="wrap">
  <div><img src="w.jpg"></div>
  <div><img src="w.jpg"></div>
  <div><img src="w.jpg"></div>
  <div><img src="w.jpg"></div>
</div>    
<style>
  .wrap>div {
    width: 10px;
    height: 10px;
  }
  .wrap img {
    width: 100%;
    height: 100%;
  }
</style>

Картинки будут помещены в блоки и будут резиново изменяться вместе с ними

Answer 4

Для начала необходимо при загрузке изображения сделать миниатюру, чтобы ширина и высота были одинаковы. Это необходимо для сохранения качества изображения.

Далее CSS. Используйте media запросы и регулируйте размер изображения для каждого типа устройства.

READ ALSO
Элементы не помещаются в строку

Элементы не помещаются в строку

ЗдравствуйтеСуть проблемы: элементы в блоке не помещаются в один ряд, последний переходит на новую строку

273
Помогите создать дейстие [требует правки]

Помогите создать дейстие [требует правки]

Я хотел бы создать сайт лотерею, но не знаю какой код нужен, чтобы, например, 10 человек положили 10 долларов, и только один выиграет 100Пожалуйста,...

191