Как сделать центрирование изображение в блоке меньшего размера?

Дано:
блок div с размерами 150х150 и overflow: hidden;
картинка с произвольными размерами, но обе стороны заведомо больше 150 пикселей.

Необходимо:
С помощью великого и могучего CSS сделать так, чтобы в блоке был виден максимально возможный центральный участок изображения.

Буду весьма признателен, если кто-то подскажет, как сделать.
  • Вопрос задан
  • 14019 просмотров
Пригласить эксперта
Ответы на вопрос 5
lastwish
@lastwish
С одним лишним div-ом — легко, делаем его достаточно широким во все стороны и центрируем уже в нём.

http://jsfiddle.net/37h2M/
Ответ написан
mlnkv
@mlnkv
JavaScript Developer
.wrapper {
    overflow: hidden;
    height: 150px;
    width: 150px;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.wrapper > img {
    max-width: 100%;
    display: inline-block;
}
Ответ написан
AntonEssential
@AntonEssential
div {
    width: 150px;
    height: 150px;
    overflow: hidden;
    display: table-cell;
    vertical-align: middle;
}

div img {
    width: 100%;   
}
Ответ написан
div {
    width: 150px;
    height: 150px;
    overflow: hidden;
    position: relative;
}

div img {
    position: absolute;
    top: -50%;
    left: -50%;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы