Maison > interface Web > tutoriel CSS > Quelles sont les méthodes CSS pour effacer les flotteurs ?

Quelles sont les méthodes CSS pour effacer les flotteurs ?

步履不停
Libérer: 2019-06-13 13:23:06
original
6839 Les gens l'ont consulté

Quelles sont les méthodes CSS pour effacer les flotteurs ?

Cet article présente l'exemple de code CSS float et clear float à travers des images et des textes. Il est très bon et a une certaine valeur de référence. Les amis qui en ont besoin peuvent s'y référer. .

1. Qu'est-ce que float

L'attribut float définit dans quelle direction l'élément flotte.

float:left L'élément flotte vers la gauche.

float:right L'élément flotte vers la droite.

float:none Valeur par défaut. L'élément n'est pas flottant et apparaît là où il apparaît dans le texte.

float:inherit spécifie que la valeur de l'attribut float doit être héritée de l'élément parent.

Regardez un simple morceau de code :

<div class="child1">左浮动</div>
<div class="child2">右浮动</div>
<div class="child3">喵</div>
  .child1 {
    float: left;
    height: 500px;
    width: 70%;
    background: #aa0;//黄
  }
  .child2 {
    float: right;
    height: 300px;
    width: 30%;
    background: #0aa;//青
  }
  .child3 {
    background: #a0a;//紫
  }
Copier après la connexion

Quelles sont les méthodes CSS pour effacer les flotteurs ?

2. Ce qui est clair

attribut clear Les éléments flottants ne sont pas autorisés sur le côté gauche ou droit du paragraphe spécifié.

clear:left n'autorise pas les éléments flottants à gauche.

clear:right n'autorise pas les éléments flottants sur le côté droit.

clear:both interdit les éléments flottants sur les côtés gauche et droit.

clear:none Valeur par défaut. Permet aux éléments flottants d'apparaître des deux côtés.

clear:inherit spécifie que la valeur de l'attribut clear doit être héritée de l'élément parent.

Par exemple, dans l'exemple ci-dessus, nous ajoutons clear: Both; à child3 pour effacer le flotteur. (Les éléments flottants ne sont pas autorisés sur les côtés gauche et droit de l'enfant3, donc naturellement ils ne seront plus derrière les deux éléments flottants~)

Quelles sont les méthodes CSS pour effacer les flotteurs ?

Ensuite, un seul côté est non autorisé À quoi ressemble le flottement ?

Il était à l'origine violet :

那么,只在一侧不允许浮动是怎样的呢?
本来是酱紫的:
 
<div class="child1">child1右浮动</div>
<div class="child2">child2右浮动</div>
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈...

  .child1 {
    float: right;
    background: #aa0;//黄
  }
  .child2 {
    float: right;
    background: #0aa;//青
  }
Copier après la connexion

Quelles sont les méthodes CSS pour effacer les flotteurs ?

Ensuite, ajoutez clear: right; à child2, et aucun élément flottant n'est autorisé sur le côté droit. de child2 , donc child2 flotte jusqu'à la ligne suivante.

Quelles sont les méthodes CSS pour effacer les flotteurs ?

Alors, pourquoi cela ne fonctionne-t-il pas lors de l'ajout de clear: left à child1 ? Laissez un petit œuf de Pâques ici, tout le monde est invité à laisser un message pour en discuter ~

3 L'impact du flottement

Le plus grand impact du flottement est celui lorsque le. L'élément parent ne contient que Lorsqu'un élément enfant flotte, la hauteur de l'élément parent s'effondre (la hauteur devient 0).

像酱紫:(parent高度为0,无法显示粉色背景)
<div class="parent">
    <div class="child1">child1右浮动</div>
    <div class="child2">child2右浮动</div>
</div>
  .parent {
    background: #FBC;//粉
  }
Copier après la connexion

Quelles sont les méthodes CSS pour effacer les flotteurs ?

4. Façons d'effacer les flottants

1. Ajoutez un div vide à la fin de l'élément parent.

div

<div class="parent">
  <div class="child1">child1右浮动</div>
  <div class="child2">child2右浮动</div>
  <div style="clear: both;"></div>
</div>

  .child1 {
    float: right;
    background: #aa0;
  }
  .child2 {
    float: right;
    background: #0aa;
  }
Copier après la connexion

Quelles sont les méthodes CSS pour effacer les flotteurs ?

On voit que la hauteur du div vide est 0 et se situe en bas de la boîte parent, afin que la boîte parent puisse retrouver sa position haute.

Pourquoi l’ajouter à la fin ? Si vous l'ajoutez au milieu, l'effet sera violet :

Quelles sont les méthodes CSS pour effacer les flotteurs ?

Puisque les éléments flottants ne sont pas autorisés sur les côtés gauche et droit du div vide, alors il commencera un nouveau paragraphe, résultant en l'effet de la position de la boîte. Tout comme child2 efface le flotteur droit, child2 s'exécute en dessous de child1.

2. Définissez l'attribut overflow sur l'élément parent

• Principe : Définissez overflow:hidden ou overflow:auto, et le navigateur vérifiera automatiquement la hauteur de la zone flottante ( de connaître le contenu de la boîte parent (avec ou sans débordement)
• Avantages : Bon support du navigateur
• Inconvénients : Si l'élément enfant dépasse la taille de l'élément parent, il sera masqué, ou l'élément parent aura une barre de défilement

<div class="parent"   style="max-width:90%">
  <div class="child1">child1右浮动</div>
  <div class="child2" style="position:relative;top:10px;">child2右浮动</div>
</div>
Copier après la connexion

Quelles sont les méthodes CSS pour effacer les flotteurs ?

Lorsque overflow:auto; est défini, une barre de défilement apparaîtra sur l'élément parent :

Quelles sont les méthodes CSS pour effacer les flotteurs ?

3. Pseudo élément

• Principe : similaire Définir l'attribut clear
• Avantages : bon support du navigateur, universel

<div class="parent clearfix">
  <div class="child1">child1右浮动</div>
  <div class="child2">child2右浮动</div>
</div>
  .clearfix{
    zoom: 1;    //zoom(IE专有属性)可解决ie6,ie7浮动问题
    display: block;
  }
  .clearfix:after {
    content: ".";    //content: "";也可
    visibility: hidden;
    display: block;
    height: 0;
    clear: both;
  }
Copier après la connexion

更多CSS问题的相关技术文章,请访问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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal