Если нужно, чтобы только 2 строки текста было, к примеру, то можно сделать так:
/* если указано количество строк и длинный текст надо сокращать */
.some-text {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
Тогда весь лишний текст будет обрезаться и вместо него будет троеточие.
Что касается картинок, то можно было сделать так:
/* Картинка масштабируется по отношению к родительскому элементу */
img {
object-fit: cover;
width: 100%;
height: 100% // или нужная высота
}
Как-то так.