#html #css #image
#HTML #css #изображение
Вопрос:
Мне нужно обрезать пейзажное изображение по центру внутри вертикальной рамки (например, 600 X 400). У меня есть следующий HTML-код с css-кодом для обрезки по центру. Но выходное изображение не обрезано по центру, и оно также растянуто.
<div id="posts">
<div class="image">
<a href="#">
<img src="Vasco45_barbosa.jpg">
</a>
</div>
</div>
#posts .image {
overflow: hidden;
height: 600px;
width: 400px;
margin: 0 auto;
}
#posts .image img{
background-position: center center;
background-size: cover;
display: block;
min-width: 100%;
min-height: 100%;
-ms-interpolation-mode: bicubic;
}
Исходное изображение
Изображение после применения приведенного выше CSS-кода
Комментарии:
1. Я не вижу второе растянутое изображение, на которое вы ссылались. Вместо этого я вижу нерастянутую часть левой части исходного изображения.
Ответ №1:
Измените img css на этот
#posts .image img{
object-fit: cover;
object-position: 50% 50%;
width: 100%;
height: 100%;
}
Как это работает:https://jsfiddle.net/6ns549hy /
Комментарии:
1. Работает, как ожидалось
2. Это решение поддерживает все браузеры?? @павел Михальски
3. Большинство — IE / Edge не поддерживается (пока считается, что поддерживается), но есть некоторые исправления и обходные пути, такие как github.com/anselmh/object-fit