Maison >interface Web >Questions et réponses frontales >Quelles sont les différentes façons d'effacer les flotteurs en CSS3

Quelles sont les différentes façons d'effacer les flotteurs en CSS3

WBOY
WBOYoriginal
2022-04-24 15:35:022306parcourir

Méthode : 1. Définissez le style "clear:both" dans une balise div vide pour effacer le flottant ; 2. Ajoutez un pseudo-élément ":after" à l'élément parent et effacez le flottant en effaçant le flottant du pseudo. -element; 3. Définissez le style de débordement sur l'élément parent et le flottant peut être effacé même si la valeur de l'attribut n'est pas visible.

Quelles sont les différentes façons d'effacer les flotteurs en CSS3

L'environnement d'exploitation de ce tutoriel : système Windows 10, version CSS3&&HTML5, ordinateur Dell G3.

Quelles sont les différentes façons d'effacer les flottants en CSS3 ?

Float (float) peut contrôler la boîte flottante pour se déplacer vers la gauche et la droite jusqu'à ce qu'elle rencontre une autre boîte flottante ou la boîte conteneur sur son bord extérieur. La boîte flottante n'appartient pas au flux ordinaire du flux de documents. Lorsque l'élément flotte, cela n'affectera pas la disposition des éléments au niveau du bloc, mais affectera uniquement la disposition des éléments en ligne.

À ce stade, le flux normal dans le flux de documents montrera que la boîte flottante n'a pas le même mode de mise en page. Lorsque la hauteur de la boîte conteneur est plus petite que la boîte flottante, un « effondrement de la hauteur » se produit :

Quelles sont les différentes façons deffacer les flotteurs en CSS3

La hauteur de l'élément parent dans l'image ci-dessus est l'effet du remplissage, et l'élément parent n'a pas de hauteur définie. .

Lorsque la hauteur de l'élément parent n'est pas définie :

Si l'élément enfant dans l'élément parent n'est pas défini pour flotter, la hauteur de l'élément parent sera automatiquement développée et la valeur de hauteur apparaîtra

Si ; l'élément enfant de l'élément parent n'est pas défini sur float Si l'élément est défini sur float, la hauteur de l'élément parent ne sera pas automatiquement développée et il n'y aura pas de valeur de hauteur.

Évidemment, il y a quelques problèmes après avoir réglé le flotteur de cette manière, tels que :

La marge de l'élément parent est affectée et il ne peut pas être centré vers le haut, le bas, la gauche et la droite. L'élément parent n'est pas défini, la hauteur de l'élément parent n'est pas étirée après le flottement. L'élément parent ne sera alors pas affiché à l'écran.

Comment effacer float en CSS ? Quelles sont les différentes manières de dégager les flotteurs ?

(1) Utilisez clear:both pour effacer les flottants

Mettez une balise div vide dans le code, puis définissez clear:both sur cette balise pour effacer l'impact des flottants sur la page. Ses avantages sont la simplicité, la commodité et une bonne compatibilité, mais il n'est généralement pas recommandé d'utiliser cette méthode car elle provoquerait une confusion structurelle et ne favoriserait pas une maintenance ultérieure

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

(2) Utilisez le pseudo élément : après pour effacer les flotteurs

L'élément parent ajoute un pseudo-élément :after En effaçant le flottement du pseudo-élément, l'objectif de prendre en charge la hauteur de l'élément parent est atteint

.clearfix:after{
    content:"";
    display:block;
    visibility:hidden;
    clear:both;
    }

(3) Utilisez l'attribut overflow de CSS

. Lors de la définition du style de débordement pour l'élément parent, qu'il s'agisse de overflow:hidden ou overflow:auto, vous pouvez effacer le float tant que sa valeur n'est pas visible. Son essence est de construire un BFC, qui obtient l'effet de support. la hauteur de l'élément parent

.box{border:1px solid #ccc;background:#eff2f4;overflow: auto}

(Partage vidéo d'apprentissage :

Tutoriel vidéo CSS

)

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