Comment puis-je arrêter le flotteur à gauche?


97

J'ai le code suivant:

<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="&#x25BC;" title="Editor" />   
  <input style="float: left; font-size: 0.5em;" type="button" onclick="remTiny(0,'Question_Text'); return false;" value="&#x25B2;" title="Hide" />   

  <div class="adm">
    <textarea rows="2;" style="width: 100%" class="text-box multi-line mceEditor">
      abc
    </textarea>
  </div>
</div>

Mon problème est que le div avec la classe adm flotte vers la gauche et va donc sur la même ligne que l'étiquette et deux boutons d'entrée. Y a-t-il un moyen que je puisse éviter de flotter?


Vous devriez accepter une réponse, même si c'est la vôtre.
DᴀʀᴛʜVᴀᴅᴇʀ

Réponses:


101

Une approche standard consiste à ajouter un div de compensation entre les deux éléments flottants au niveau du bloc:

<div style="clear:both;"></div>

3
Mais dans certains cas, vous devez ajouterdisplay:block
Volodymyr Levytskyi

62

Parfois, clear ne fonctionnera pas. Utiliser float: nonecomme remplacement


2
Oui, si vous souhaitez remplacer une entrée CSS existante float: left(ou à droite), c'est la solution.
Alexis Wilke

28

Vous pouvez modifier .admet ajouter

.adm{
 clear:both;
}

Cela devrait le faire passer à une nouvelle ligne


Cela devrait être .admje pense.
tjm

9

ajouter style="clear:both;"au "adm" div.


4

D'accord, je viens de réaliser que la réponse est de supprimer le premier flotteur à gauche du premier DIV. Je ne sais pas pourquoi je n'ai pas vu ça avant.


3

Vous devriez également vérifier la propriété "clear" en css au cas où la suppression d'un float ne serait pas une option


3

Le css clear: leftde votre classe adm devrait empêcher le div flottant avec les éléments au-dessus.


0

Ajoutez simplement overflow:hiddenle premier divstyle. Cela devrait suffire.


0

Pour une raison quelconque, aucun des correctifs ci-dessus n'a fonctionné pour moi (j'ai eu le même problème), mais cela a fonctionné:

Essayez de mettre tous les éléments flottaient dans un élément div: <div class="row">...</div>.

Ajoutez ensuite ce CCS: .row::after {content: ""; clear: both; display: table;}

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.