Introduction détaillée CSS-float pour clear: les deux

On voit que même si la largeur de p1 est très petite, une ligne sur la page peut accueillir p1 et p2, et p2 ne sera pas classé derrière p1, car l'élément p est bloc -niveau et occupe sa propre ligne. Notez que les théories ci-dessus font référence à p dans le flux standard.
Peu importe la complexité de la mise en page, le point de départ de base est : "Comment afficher plusieurs éléments p sur une seule ligne". Flotter peut être compris comme laisser un certain élément p se détacher du flux standard et flotter sur le flux standard. Il n'est pas au même niveau que le flux standard, c'est pourquoi on l'appelle float.
Par exemple, en supposant que p2 dans la figure ci-dessus flotte, il s'éloignera du flux standard, mais p1, p3 et p4 sont toujours dans le flux standard, donc p3 se déplacera automatiquement vers le haut et occupera la position de p2. , et réorganiser un flux. Comme le montre l'image :

Comme le montre l'image, puisque p2 est réglé sur flottant, il n'appartient plus au flux standard, p3 monte automatiquement pour remplacer p2, et p1, p3 et p4 sont disposés en séquence. Et parce que float flotte au-dessus du flux standard, p2 bloque une partie de p3 et p3 semble "court"
Ici, p2 utilise left float (float:left;), qui peut être compris comme flottant sur la gauche, float on. la droite (float:right;), bien sûr, disposer à droite. Les valeurs gauche et droite font ici référence aux bords gauche et droit de la page.
Si on fait flotter p2 vers la droite, l'effet sera le suivant :

A ce moment, p2 est disposé sur le bord droit de la page et p3 n'est plus bloqué. peut clairement voir p1 mentionné ci-dessus, p3, p4.
Jusqu'à présent, nous n'avons fait flotter qu'un seul élément p, qu'en est-il de plus ?
Ensuite, nous ajoutons un flottement gauche à p2 et p3. L'effet est le suivant :

De même, puisque p2 et p3 sont flottants, ils n'appartiennent plus au flux standard, donc p4 montera automatiquement, et p1 formera un "nouveau" flux standard, et float flottera sur le flux standard, donc p2 bloquera à nouveau p4.
Ahem, voici le point. Lorsque p2 et p3 sont configurés pour flotter en même temps, p3 suivra p2. Je ne sais pas si les lecteurs ont remarqué que jusqu'à présent, p2 flottait dans tous les exemples, mais. Il ne suit pas p1. Par conséquent, nous pouvons tirer une conclusion importante :
Si un certain p élément A est flottant, et si l'élément précédent de l'élément A est également flottant, alors l'élément A suivra le côté droit de l'élément précédent (s'il ne peut pas tenir dans une seule ligne Ces deux éléments, alors l'élément A sera pressé vers la ligne suivante); si l'élément précédent de l'élément A est un élément du flux standard, alors la position verticale relative de A ne changera pas, cela c'est-à-dire que le haut de A sera toujours le même que le précédent. L'alignement inférieur de l'élément. Pour faire simple, deux float:left seront disposés horizontalement. Si le premier est un stream standard et le second est float:left, alors le second sera toujours disposé en dessous du premier
L'ordre de. p est HTML L'ordre de p dans le code est déterminé.
La fin proche du bord de la page est le recto, et la fin éloignée du bord de la page est le verso.
Pour aider les lecteurs à comprendre, voici quelques exemples supplémentaires.
Si nous définissons p2, p3 et p4 pour qu'ils flottent à gauche, l'effet est le suivant :

D'après la conclusion ci-dessus : commencez par l'analyse à partir de p4, et on constate que le l'élément supérieur p3 est flottant. Donc p4 suivra p3 ; p3 trouve que l'élément supérieur p2 est également flottant, donc p3 suivra p2 et p2 trouve que l'élément supérieur p1 est un élément du flux standard, donc la position verticale relative ; de p2 reste inchangé et le haut toujours aligné avec le bas de l'élément p1. Puisqu'il est laissé flottant, le côté gauche est proche du bord de la page, donc le côté gauche est le devant, donc p2 est à l'extrême gauche.
Si p2, p3 et p4 sont tous réglés pour flotter à droite, l'effet est le suivant :


Le dégagement des flotteurs peut être compris comme une rupture de la disposition horizontale.
Le mot-clé pour effacer les flottants est clair, et la définition officielle est la suivante :
Syntaxe : <p>clear : aucun gauche droite | none : Valeur par défaut. Les objets flottants sont autorisés des deux côtés<p>gauche : les objets flottants ne sont pas autorisés sur le côté gauche<p>droite : les objets flottants ne sont pas autorisés sur le côté droit<p>les deux : flottants les objets ne sont pas autorisés<p>La définition est très facile à comprendre, mais les lecteurs constateront peut-être que ce n'est pas le cas lorsqu'ils l'utilisent dans la pratique. <p>Il n'y a rien de mal avec la définition, mais elle est trop vague et nous laisse perplexe. Selon la base ci-dessus, s'il n'y a que deux éléments p1 et p2 sur la page, ils flottent tous les deux vers la gauche. Le scénario est le suivant : <p>
À ce moment, p1 et p2 flottent tous les deux, selon les règles, p2 suivra p1, mais nous espérons toujours que p2 pourra être disposé en dessous de p1, tout comme p1 ne flotte pas et p2 flotte à gauche.


Si vous voulez que p2 descende à p1, que devez-vous faire ?

Prolongons-le plus tard :

La couleur de fond grise n'est pas ajoutée à la deuxième OK, car la deuxième ligne est float et pas au même niveau que .ob-body. La deuxième ligne flotte au-dessus de .ob-body. La pseudo-classe : after est utilisée pour faire revenir la deuxième ligne au sol.

L'effet après l'ajout de clear:both :
<head> <style> .ob-title{ background-color: orange; } .ob-body{ background-color: #ddd; } .ob-body .menu{ float: left; width: 200px; background-color: pink; } .ob-body .content{ float: left; background-color: aquamarine; } .clearfix:after{ /*在.clearfix后边追加一个隐藏的block,带一个clear:both属性*/ content: ""; display: block; /*block宽度会横向填充满屏幕,在父元素的最后追加一个height:0,占满屏幕的看不见的细长条*/ line-height: 0; clear: both; /*这个最下边细长条左右两边都清除float*/ } </style></head><body style="margin: 10px;"> <p class="ob-title">头部信息</p> <p class="ob-body clearfix"> <!--此处调用尾类--> <p class="menu">左侧菜单</p> <p class="content">右侧内容</p> <!--<p style="clear: both;"></p>--> <!--第二种写法,不用调用clearfix类--> </p></body>
vide à la fin de .ob-body (tant qu'il s'agit d'un bloc, car seuls les blocs peuvent être remplis horizontalement), ce

doit avoir clear:both, sinon s'il ne s'agit que d'un flux standard, il sera proche du bas de la première ligne, et bien sûr il ne peut pas couvrir la deuxième ligne. En fait, en utilisant clear:left. est également efficace dans cet exemple (Parce que la deuxième ligne est entièrement float: left), mais par souci de polyvalence, utilisez simplement les deux. Et il est également vérifié que cette règle ne peut affecter que l'élément lui-même qui est effacé, et ne peut pas affecter. d'autres éléments. Clear masque les deux p.
<p>
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence

Avez-vous déjà eu besoin d'un compte à rebours sur un projet? Pour quelque chose comme ça, il pourrait être naturel d'atteindre un plugin, mais c'est en fait beaucoup plus

Tout ce que vous avez toujours voulu savoir sur les attributs de données dans HTML, CSS et JavaScript.

Questions sur les zones de slash violet dans les dispositions flexibles Lorsque vous utilisez des dispositions flexibles, vous pouvez rencontrer des phénomènes déroutants, comme dans les outils du développeur (D ...

Lorsque le nombre d'éléments n'est pas fixé, comment sélectionner le premier élément enfant du nom de classe spécifié via CSS. Lors du traitement de la structure HTML, vous rencontrez souvent différents éléments ...

Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

Comment implémenter des fenêtres dans le développement frontal ...
