Mam następujący kod:
<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>
Mój problem polega na tym, że element div z klasą adm płynie w lewo i przechodzi w tym samym wierszu, co etykieta i dwa przyciski wprowadzania. Czy jest sposób, żebym mógł odejść od unoszenia się?
Odpowiedzi:
Standardowym podejściem jest dodanie clearing div między dwoma pływającymi elementami poziomu bloku:
<div style="clear:both;"></div>
źródło
display:block
Czasami jasne nie zadziała. Użyj
float: none
jako nadpisaniaźródło
float: left
(lub po prawej), to jest rozwiązanie.Możesz modyfikować
.adm
i dodawać.adm{ clear:both; }
To powinno spowodować przejście do nowej linii
źródło
.adm
Myślę, że tak powinno być .dodaj
style="clear:both;"
do „adm”div
.źródło
OK, właśnie zdałem sobie sprawę, że odpowiedzią jest usunięcie pierwszego pływaka pozostałego z pierwszego DIV. Nie wiem, dlaczego wcześniej tego nie widziałem.
źródło
Powinieneś także sprawdzić właściwość „clear” w css na wypadek, gdyby usunięcie pływaka nie wchodziło w grę
źródło
CSS
clear: left
w Twojej klasie adm powinien zatrzymać unoszenie się div z elementami nad nim.źródło
Po prostu dodaj
overflow:hidden
pierwszydiv
styl. To powinno wystarczyć.źródło
Z jakiegoś powodu żadna z powyższych poprawek nie zadziałała (miałem ten sam problem), ale tak się stało:
Spróbuj umieszczenie wszystkich elementów pływających w elemencie div:
<div class="row">...</div>
.Następnie dodaj ten CCS:
.row::after {content: ""; clear: both; display: table;}
źródło
Jest na to klasa w bootstrapie
class="clearfix";
źródło