Im не уверен, если im описывает это правильно. Я хочу, чтобы объект среди всех плавающих объектов очищался, но не весь путь влево.CSS: Как очистить плавающий объект только на одном уровне, а не влево?
#parent {
background: greenyellow;
width: 500px;
height: 700px;
padding: 15px;
}
#parent>div {
float: left;
}
#object1 {
width: 40px;
height: 300px;
background: blue;
}
#object2 {
width: 100px;
height: 100px;
background: red;
}
#object3 {
width: 100px;
height: 100px;
background: purple;
}
<div id="parent">
<div id="object1">
</div>
<div id="object2">
</div>
<div id="object3">
</div>
</div>
Как и в jsfiddle. Я хочу, чтобы фиолетовая коробка оказалась ниже красной коробки. И я не хочу уменьшать ширину моего родителя. И я не хочу содержать красный и фиолетовый внутри div.
Есть ли способ для этого. Спасибо?
Вы не хотите содержать красный и фиолетовый внутри div. Будет ли дополнительный div вокруг красного, фиолетового и синего в порядке? – BillyNate
Существует способ: то, что вы пытаетесь достичь, называется макетным макетом, где элементы заполняют следующее доступное пространство, а не очищают всю строку. Тем не менее, нет простого способа добиться этого с помощью CSS, но есть несколько JS-библиотек, которые могут это сделать, например [Masonry] (http://masonry.desandro.com). – Terry
Добавляет некоторый запас в фиолетовый (необязательно красный) вариант? – BillyNate