Один из ответов включает в себя background-size: Содержит CSS-утверждение, которое мне очень нравится, потому что это прямое изложение того, что вы хотите сделать, и браузер просто делает это.
К сожалению, рано или поздно вам понадобится применить тень , которая, к сожалению, не будет хорошо работать с решениями для фоновых изображений.
Итак, допустим, у вас есть контейнер, который отзывчивый , но он имеет четко определенные границы для минимальной и максимальной ширины и высоты.
.photo {
max-width: 150px;
min-width: 75px;
max-height: 150px;
min-height: 75px;
}
И у контейнера есть img, который должен знать пиксели высоты контейнера, чтобы избежатьполучение очень высокого изображения, которое переполняется или обрезается.
img также должен определять максимальную ширину 100%, чтобы, во-первых, разрешить рендеринг с меньшей шириной, а во-вторых, в процентах, что делает его параметрическим.
.photo > img {
max-width: 100%;
max-height: 150px;
-webkit-box-shadow: 0 0 13px 3px rgba(0,0,0,1);
-moz-box-shadow: 0 0 13px 3px rgba(0,0,0,1);
box-shadow: 0 0 13px 3px rgba(0,0,0,1);
}
Обратите внимание, что у него хорошая тень;)
Наслаждайтесь живым примером на этой скрипке: http://jsfiddle.net/pligor/gx8qthqL/2/