Maison  >  Article  >  interface Web  >  Pourquoi mon élément flottant ne s'aligne-t-il pas correctement ?

Pourquoi mon élément flottant ne s'aligne-t-il pas correctement ?

DDD
DDDoriginal
2024-10-28 00:03:02932parcourir

Why Doesn't My Floated Element Align Correctly?

Attente et réalité du comportement CSS Float

En CSS, la propriété float est couramment utilisée pour aligner les éléments horizontalement. Cependant, des comportements inattendus peuvent survenir lors de son utilisation avec d'autres éléments.

Le problème

L'exemple suivant illustre un malentendu courant :

<code class="html"><div class="inline">
    first line<br>
    second line<br>
    third line<br>
</div>

<div class="yellow">floated div</div></code>
<code class="css">.inline {
    float:left;
}

.yellow {
    background-color:yellow;
}</code>

Dans cet exemple, vous pouvez vous attendre à ce que le deuxième div (avec le fond jaune) s'aligne à droite du premier div. Cependant, comme le montre l'exemple réel, il occupe toujours toute la largeur de son conteneur.

Comprendre le comportement

Ce comportement est en fait le résultat attendu du positionnement du flotteur . Lorsqu'un élément flotte, le contenu suivant s'écoule sur le côté droit de cet élément. Cependant, la largeur du bloc conteneur (définie par l'élément suivant) est toujours réservée.

Conformément à la spécification CSS, les éléments de niveau bloc (tels que div et p) qui sont non positionné, ne tenez pas compte du flotteur. Les boîtes de ligne, quant à elles, coulent le long du côté du flotteur, mais leur largeur est raccourcie.

La solution

Pour obtenir le résultat attendu, où la deuxième div s'aligne correctement, vous pouvez ajouter une propriété de débordement avec une valeur autre que visible pour le deuxième div. Cela l'empêche de chevaucher l'élément flottant, comme spécifié dans la spécification CSS niveau 2.1.

Exemple

<code class="css">.yellow {
    overflow: hidden;
}</code>

Avec cet ajout, le deuxième div ne sera plus s'étendre au-delà de l'élément flottant, créant l'alignement souhaité.

Objectif du chevauchement

Le chevauchement est utile dans les situations où le contenu suivant est suffisamment long pour continuer au-delà de l'élément flottant. Si le chevauchement était restreint par défaut, le contenu ne continuerait pas sous l'élément flottant, créant des résultats inattendus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn