У меня такой код:
<div style="float: left; width: 100%;">
<label style="float: left;">ABC</label>
<input style="float: left; font-size: 0.5em;" type="button" onclick="addTiny(0,'Question_Text'); return false;" value="▼" title="Editor" />
<input style="float: left; font-size: 0.5em;" type="button" onclick="remTiny(0,'Question_Text'); return false;" value="▲" title="Hide" />
<div class="adm">
<textarea rows="2;" style="width: 100%" class="text-box multi-line mceEditor">
abc
</textarea>
</div>
</div>
Моя проблема в том, что div с классом adm плавает слева и, следовательно, находится в той же строке, что и метка и две кнопки ввода. Есть ли способ избавиться от плавания?
Ответы:
Стандартный подход - добавить очищающий div между двумя элементами уровня плавающего блока:
источник
display:block
Иногда очистить не получится. Использовать
float: none
как заменуисточник
float: left
(или правую), тогда это решение.Вы можете изменить
.adm
и добавитьЭто должно переместить его на новую строку
источник
.adm
Думаю, так должно быть .добавить
style="clear:both;"
в "адм"div
.источник
Хорошо, я только что понял, что ответ - удалить первый поплавок, оставшийся от первого DIV. Не знаю, почему я этого раньше не видел.
источник
Вы также должны проверить свойство "clear" в css на случай, если удаление float не является вариантом
источник
CSS
clear: left
в вашем классе adm должен остановить перемещение div с элементами над ним.источник
Просто добавьте
overflow:hidden
первыйdiv
стиль. Этого должно быть достаточно.источник
По какой-то причине у меня не сработало ни одно из вышеперечисленных исправлений (у меня была такая же проблема), но это сработало:
Попробуйте положить все плавали элементов в сНу элемента:
<div class="row">...</div>
.Затем добавьте этот CCS:
.row::after {content: ""; clear: both; display: table;}
источник