Скрыть переполнение изображения с шириной больше, чем тело

У меня есть несколько изображений, и все они имеют очень большое пустое поле. Я должен сделать их больше, чем ширина области просмотра на маленьких экранах, чтобы они имели размер, который хочет клиент, но это приводит к пустому переполнению. Кажется, я не могу скрыть переливы изображения. Вот код изображения и его контейнера:

HTML:

<div class = "product">
    <img alt = "floor" id = "img-product">
</div>

CSS:

.product {
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    overflow: hidden;
}

#img-product{
    width: 150vw;
    position: absolute;
    content: url("image.png");
}

Я также использовал в # img-product: width: 500px;

Не могли бы вы добавить сюда пример изображения и целевой результат (изображение с белыми полями по центру экрана, так что эти поля выходят за пределы экрана, правильно?)

extempl 26.10.2018 20:10

Я загружу изображение через несколько минут, но вы правы. Поля слева и справа и изображение по центру

davigzzz 26.10.2018 21:01
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
83
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема в том, что img позиционируется абсолютно по отношению ко всему HTML-документу, поэтому родительский .product не имеет над ним власти.

Решение: расположите .product так, чтобы расположение img было относительно .product.

.product {
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;        /* for demonstration purposes */
    height:100px;
    overflow: hidden;
    position:relative; /* new */
}

#img-product{
    width: 150vw;
    position: absolute;
    content: url("image.png"); /* note: this doesn't do anything. */
}
<div class = "product">
    <img alt = "floor" id = "img-product" src = "https://placehold.it/640x100">
</div>

Обратите внимание, что мне пришлось добавить атрибут src в img для демонстрационных целей, поскольку свойство content здесь ничего не делает, а также высоту для .product, иначе он рухнет.

Другие вопросы по теме