Делаем картинку такой же высоты как соседний блок с помощью flex и object-fit

Задача такая, слева размещена картинка, а справа блок, внутри которого какой-то контент или другие блоки. Нужно сделать так, чтобы картинка была такой же высоты как и блок справа на любом разрешении экрана.

Рабочий пример, как растянуть картинку на высоту соседнего блока

See the Pen make image the same height as the neighbor block with CSS Flex by Denis (@deniscreative) on CodePen.dark

Упрощенный код SCSS для блоков одинаковой высоты

// reset for img
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.line {
  display: flex;
  justify-content: space-between;
  max-width: 768px;
  margin: 20px auto;
}

.left {
  flex: 0 1 calc(50% - 10px);
  max-width: calc(50% - 10px);

  .pic-holder {
    height: 100%;
  }

  .pic {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.right {
  flex: 0 1 calc(50% - 10px);
  max-width: calc(50% - 10px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  .item {
    padding: 40px 20px;
    text-align: center;
    background-color: #ccc;
    margin-bottom: 20px;

    &:last-child {
      margin-bottom: 0;
    }
  }
}

Один нюанс.

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

Как удалить несколько последних слайдов в слайдере Slick

Задача — выводить в десктопной версии несколько слайдов с определенным дизайном, а в мобильной версии…

Оптимизация изображений без сторонних приложений с помощью Gulp 4

Мой репозиторий — https://github.com/DenisShapkun/images-optimization. Используем вместо Tinypng десктопный вариант Gulp. Пакетная оптимизация изображений формата PNG,…

Препроцессор SCSS-to-CSS с помощью GULP4

В общем, очередная секретная разработка для ускорения процесса создания сайтов.  Обычно для верстки я использовал…

Онлайн CSS-генератор треугольников

CSS генератор треугольников, иногда приходится применять, чтобы создать уголки для каких-то элементов с помощью CSS….

Ответить