У меня такой div:
<div></div>
<p></p>
В верхнем div я делаю много добавлений через jquery, поэтому ни на что. Я хочу сохранить этот p
ниже этого div
. Как это сделать?
Если вы хотите, чтобы элемент блока div находился ниже элемента p-блока, даже при использовании float: left;
например (вот почему вы спрашиваете, я полагаю?):
div {
float: left;
}
p {
clear: both;
}
См. Jsfiddle, например, с поплавком: http://jsfiddle.net/tw3G5/1/
Здесь float заставляет блок <p>
перемещаться рядом с <div>
, но поскольку clear: both;
этого не произойдет.
Обратите внимание, что clear
применяется только к элементам блока. Вот почему я добавил их явно, чтобы сделать его более понятным. Попробуйте применить display: inline;
в блок <p>
и посмотреть, что происходит, когда float применяется к блоку <div>
.
Применить clear: both;
чтобы заблокировать элемент, чтобы сохранить его ниже другого элемента блока.
Для получения дополнительной информации: https://developer.mozilla.org/en-US/docs/Web/CSS/clear
margin-top: 0px
на p также сработает и не потребует никаких операций с плавающей запятой / очистке.
reaper_unique:
Ты сказал:
div {
float: left;
display: block;
}
По умолчанию div является блоком. Кроме того, когда вы плаваете элемент, он становится блоком. Поэтому вы можете написать только float: left;
securedeveloper:
Ты сказал:
div
{
display:inline-block;
width:100%;
}
Не рекомендуется "понижать" элемент (div to inline-block/inline) и отображать: inline-block + width: 100% = display: block
Я думаю, что ясно: оба INSIDE div решат любую проблему:
div:after { content: ''; display: block; width: 100%; clear: both; }
div
{
display:inline-block;
width:100%;
}
Теперь это всегда будет
ниже элемента;