Получение изображения для растягивания div

Как я могу получить изображение, увеличивающее высоту класса DIV?

На данный момент это выглядит так:

Получение изображения для растягивания div

Однако я бы хотел, чтобы DIV был растянут, чтобы image подходил правильно, но я не хочу изменять размер изображения `.

Вот CSS для DIV (серый прямоугольник):

.product1 {
    width: 100%;
    padding: 5px;
    margin: 0px 0px 15px -5px;
    background: #ADA19A;
    color: #000000;
    min-height: 100px;
}

CSS, применяемый к изображению:

.product{
    display: inline;
    float: left;
}

Итак, как я могу это исправить?

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в 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. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
24
0
26 045
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

display:inline  
float:left  

твоя проблема

Плавающий не позволяет ребенку растягивать родительскую ширину, попробуйте разместить изображение без поплавка. Если вы снимете поплавок, это должно дать желаемый эффект. Другой подход - убедиться, что вы очищаете свои поплавки в конце родительского элемента, чтобы они не расползались.

Обновлять: После просмотра ссылки Ваша проблема с высотой, как показано, связана с тем, что поплавки не очищаются.

В разметке после изображения вставьте что-то вроде <div style = "clear:left"/>. Немного беспорядочно, но это самый простой способ, который я нашел.

И пока вы это делаете, добавьте немного поля к этому изображению, чтобы текст не соприкасался с ним.

Я считаю, что самозакрывание DIV неуместно?

Xarcell 15.03.2013 19:30

Если предположить, что @John Millikin верен, код

.product + * { clear: left; }

было бы достаточно сделать то же самое, не заставляя вас вручную настраивать код после div.

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

Добавить overflow:auto; в .product1

Один из приемов, который вы можете использовать, - это установить свойство переполнения <div> как скрытое. Это заставляет браузеры вычислять физический размер поля и устраняет странную проблему перекрытия с плавающим изображением. Это избавит вас от добавления дополнительной разметки HTML.

Вот как должен выглядеть класс:

.product1 {
    width: 100%;
    padding: 5px;
    margin: 0px 0px 15px -5px;
    background: #ADA19A;
    color: #000000;
    min-height: 100px;
    overflow: hidden;
}

Мне кажется, это работа для clearfix ...

Да ... да, конечно, спасибо, что сказали то, что я должен был знать с самого начала ...

Trevor Hart 16.08.2016 05:26

Попробуйте следующее:

.Strech
{
    background:url(image.jpg);
    background-size:100% 100%;
    background-repeat:no-repeat;

    width:500px;
    height:500px;
}

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