Задать вопрос
@novik90
Учиться, учиться и еще раз учиться!

Как с помощью CSS сделать обрезку картинки до определенного размера?

Добрый день уважаемые люди!
У меня такой вопрос:
Допустим есть блок 200х500 пкс, там умещается картинка 200х300 пкс(сверху), и текст 200х300 пкс (соответственно снизу).
Вот заливаю я картинку на сервер, ставлю img src() + класс, и картинка чудесным образом обрезается до размеров 200х300 пкс, и нет никаких белых полей по бокам и сверху/снизу, не растянута и не сжата(т.е. соотношение тоже самое как и большой картинки).
Как это можно реализовать? css или js?
  • Вопрос задан
  • 84958 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Вот вам правильный ответ =)
img{
    object-fit: cover;
    width: 100px;
    height: 100px;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
bumbay
@bumbay
Node.JS, MongoDB, PHP
<div class="crop">
    <img src="..." alt="..." />
</div>


.crop {
    width: 200px;
    height: 150px;
    overflow: hidden;
}

.crop img {
    width: 400px;
    height: 300px;
    margin: -75px 0 0 -100px;
}
Ответ написан
Комментировать
Gambala
@Gambala
Дзен-разработчик
Можно не через img, а через background:

<div class='image'></div>

.image{
  width: 200px;
  height: 300px;
  background: url('ваша картинка') no-repeat center center;
  background-size: cover;
}

Картинка впишется по центру контейнера
Ответ написан
Этот класс растянет картинку на всю ширину блока, и автоматически построит ее высоту.
.img-reponsive {
display:block;
width:100%;
max-width:100%;
height:auto;
}

ну и похожий класс описать для варианта 100% hegit и width:auto;

1. Вы используете бутстрап, там этот код уже есть (написанный в этом примере), удалите его из своих стилей, в Ашем случае достаточно просто к картинке добавить img-responsive.
2. Если надо ограничить по высоте, то можно сделать например так:
<div class="img-block">
    <img class="img-responsive" src="assets/img/636889-1366x768(1).jpg">
</div>


ну и
.img-block {
    height: 200px;
    overflow: hidden;
}
Ответ написан
overflow: hodden.
jsfiddle.net/Urvin/kJYkz
Ответ написан
Комментировать
semyonfedoseev
@semyonfedoseev
Могу загуглить вместо тебя
Если нужны картинки разного ракурса под различную ширину экрана:
https://habr.com/ru/post/572368/

<picture>
  <source
    media="(max-width: 480px)"
    srcset="
      cropped-bears-480x270.jpg 480w,
      cropped-bears-960x540.jpg 960w
    "
  />
  <source
    media="(max-width: 960px)"
    srcset="bears-960x540.jpg 960w, bears-1920x1080.jpg 1920w"
  />
  <img src="bears-1920x1080.jpg" alt="bears" />
</picture>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы