Это определенно возможно только с чистым CSS.Хорошо, предпосылка этого проста.Вы хотите, чтобы ваша строка всегда принимала высоту адаптивного изображения, а , а не длинный список миниатюр, как вы упомянули.
Мы должны указать браузеру, что нужно смотреть только на высотуизображение и игнорируем список миниатюр, и для этого мы удаляем список миниатюр из потока документов с абсолютной позицией .
Я скопировал ваш макет начальной загрузки, хотя и более просто, и реализовал то, чтоЯ только что упомянул.Я установил положение боковой панели на относительно с вертикальным переполнением на scroll .Я установил его с фиксированной шириной изгиба без увеличения или уменьшения, а затем поместил еще один контейнер с абсолютным позиционированием контейнер для размещения миниатюр.
Затем я добавил второй столбец, в котором будет отображаться основное изображение.,Осталось только добавить стиль начальной загрузки img-fluid , чтобы сделать изображение отзывчивым и вуаля!
Рабочая скрипка здесь: Нажмите здесь
А это код:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<style>
.container-overrides {
background: #ccc;
margin: 20px auto;
max-width: 500px !important;
}
.sidebar {
position: relative;
overflow-y: scroll;
flex: 0 0 50px;
}
.sidebar .image-container {
position: absolute;
left: 0;
right: 0;
top: 10px;
bottom: 10px;
}
.sidebar img {
display: block;
margin: 0 auto 10px;
}
.sidebar img:last-of-type {
margin: 0 auto;
}
.main{
background:#ccc;
}
.main img {
height: auto;
border: 1px solid red;
}
</style>
<div class="container p-0 container-overrides">
<div class="row no-gutters">
<!-- Responsive Sidebar -->
<div class="sidebar bg-dark p-2">
<div class="image-container">
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
<img src="http://via.placeholder.com/20x20" />
</div>
</div>
<!-- Main Image Container -->
<div class="col p-2 main">
<img src="https://ih1.redbubble.net/image.393347411.1344/flat,800x800,070,f.jpg" class="img-fluid" />
</div>
</div>
</div>