Maison > interface Web > tutoriel CSS > le corps du texte

L'explication détaillée la plus facile à comprendre de l'attribut CSS float (images et texte détaillés)

WBOY
Libérer: 2022-02-11 18:58:27
avant
7666 Les gens l'ont consulté

Cet article vous apporte une analyse détaillée des connaissances pertinentes sur l'attribut float en CSS. L'attribut float définit dans quelle direction l'élément flotte. Jetons un coup d'œil aux différents résultats des différentes valeurs d'attribut. utile pour vous. Tout le monde est utile.

L'explication détaillée la plus facile à comprendre de l'attribut CSS float (images et texte détaillés)

Explication détaillée de l'attribut CSS float

J'ai été exposé au CSS il y a longtemps, mais j'ai toujours été très confus au sujet du flottant. C'est peut-être à cause de ma mauvaise compréhension, ou je n'ai peut-être pas rencontré de problème. tutoriel populaire.

J’ai enfin compris les principes de base du flottement il y a quelques jours, et j’ai hâte de les partager avec tout le monde.

Écrit devant :

   由于CSS内容比较多,没有精力从头到尾讲一遍,只能有针对性的讲解。
   如果读者理解CSS盒子模型,但对于浮动不理解,那么这篇文章可以帮助你。
   小菜水平有限,本文仅仅是入门教程,不当之处请谅解!
   本文以p元素布局为例。
Copier après la connexion

Début du tutoriel :

Tout d'abord, il faut savoir que p est un élément de niveau bloc qui occupe une ligne exclusive sur la page et est disposé de haut en bas vers le bas, qui est le flux légendaire. Comme le montre l'image ci-dessous :
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
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 occupe sa propre ligne.

Notez que les théories ci-dessus font référence à p dans le flux standard.
Xiaocai estime que quelle que soit la complexité de la mise en page, son point de départ fondamental est : "Comment afficher plusieurs éléments p sur une seule ligne".
Évidemment le flux standard ne peut plus répondre à la demande, il faut donc utiliser des flotteurs.

Flottant peut être compris comme le fait de laisser un certain élément p se détacher du débit standard et flotter sur le débit standard. Il n'est pas au même niveau que le débit standard.

Par exemple, en supposant que p2 dans l'image 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 :
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
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 pour devenir un nouveau flux. Et comme le flotteur flotte au-dessus du débit standard, p2 bloque une partie de p3 et p3 semble "court".

Ici, p2 utilise le flottement à gauche (float:left;), qui peut être compris comme flottant et disposé à gauche, et le flottement à droite (float:right;) signifie bien sûr organiser à 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 :
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
A ce moment, p2 est disposé près du bord droit de la page et ne bloque plus p3. Le lecteur peut voir clairement le flux composé de. p1, p3 et p4 mentionnés ci-dessus.

Jusqu'à présent, nous n'avons fait flotter qu'un seul élément p, que diriez-vous de plus ?

Ensuite, nous ajoutons un flottant gauche à p2 et p3. L'effet est le suivant :
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
De même, puisque p2 et p3 sont flottants, ils n'appartiennent plus au flux standard, donc p4 montera automatiquement et se formera. un "nouveau flux" avec p1. "Flux standard, et float flotte sur le flux standard, donc p2 bloque à nouveau p4.

Ahem, allons droit au but. Lorsque p2 et p3 sont définis pour flotter en même temps, p3 suivra p2. Je ne sais pas si les lecteurs ont remarqué que jusqu'à présent, p2 flotte dans chaque exemple, mais c'est le cas. 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 derrière l'élément précédent (si un la ligne est placée. Si ces deux éléments ne sont pas inclus, 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. , c'est-à-dire que le haut de A sera toujours le même que l'alignement haut et bas d'un élément. L'ordre de

p est déterminé par l'ordre de p dans le code HTML.
La fin proche du bord de la page est le recto, et la fin éloignée du bord de la page est le verso.
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
Pour aider les lecteurs à comprendre, voici quelques exemples supplémentaires.

Si nous définissons p2, p3 et p4 sur leftfloat, l'effet est le suivant :
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
D'après la conclusion ci-dessus, suivez Xiaocai pour la comprendre : commencez par l'analyse de p4, il a constaté que la partie supérieure l'élément 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.

Comme il reste 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.

假如把p2、p3、p4都设置成浮动,效果如下:
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
道理和左浮动基本一样,只不过需要注意一下前后对应关系。由于是右浮动,因此右边靠近页面边缘,所以右边是前,因此p2在最右边。

假如我们把p2、p4左浮动,效果图如下:
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
依然是根据结论,p2、p4浮动,脱离了标准流,因此p3将会自动上移,与p1组成标准流。p2发现上一个元素p1是标准流中的元素,因此p2相对垂直位置不变,与p1底部对齐。p4发现上一个元素p3是标准流中的元素,因此p4的顶部和p3的底部对齐,并且总是成立的,因为从图中可以看出,p3上移后,p4也跟着上移,p4总是保证自己的顶部和上一个元素p3(标准流中的元素)的底部对齐。

至此,恭喜读者已经掌握了添加浮动,但还有清除浮动,有上边的基础清除浮动非常容易理解。

经过上边的学习,可以看出:元素浮动之前,也就是在标准流中,是竖向排列的,而浮动之后可以理解为横向排列。

清除浮动可以理解为打破横向排列。

   清除浮动的关键字是clear,官方定义如下:



   语法:

   clear : none | left | right | both

   取值:

   none  :  默认值。允许两边都可以有浮动对象

   left   :  不允许左边有浮动对象

   right  :  不允许右边有浮动对象

   both  :  不允许有浮动对象
Copier après la connexion

定义非常容易理解,但是读者实际使用时可能会发现不是这么回事。
定义没有错,只不过它描述的太模糊,让我们不知所措。

根据上边的基础,假如页面中只有两个元素p1、p2,它们都是左浮动,场景如下:
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
此时p1、p2都浮动,根据规则,p2会跟随在p1后边,但我们仍然希望p2能排列在p1下边,就像p1没有浮动,p2左浮动那样。

这时候就要用到清除浮动(clear),如果单纯根据官方定义,读者可能会尝试这样写:在p1的CSS样式中添加clear:right;,理解为不允许p1的右边有浮动元素,由于p2是浮动元素,因此会自动下移一行来满足规则。

其实这种理解是不正确的,这样做没有任何效果。看小菜定论:
对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。

怎么理解呢?就拿上边的例子来说,我们是想让p2移动,但我们却是在p1元素的CSS样式中使用了清除浮动,试图通过清除p1右边的浮动元素(clear:right;)来强迫p2下移,这是不可行的,因为这个清除浮动是在p1中调用的,它只能影响p1,不能影响p2。

根据小菜定论,要想让p2下移,就必须在p2的CSS样式中使用浮动。本例中p2的左边有浮动元素p1,因此只要在p2的CSS样式中使用clear:left;来指定p2元素左边不允许出现浮动元素,这样p2就被迫下移一行。
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
那么假如页面中只有两个元素p1、p2,它们都是右浮动呢?读者此时应该已经能自己推测场景,如下:
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
此时如果要让p2下移到p1下边,要如何做呢?

同样根据小菜定论,我们希望移动的是p2,就必须在p2的CSS样式中调用浮动,因为浮动只能影响调用它的元素。

可以看出p2的右边有一个浮动元素p1,那么我们可以在p2的CSS样式中使用clear:right;来指定p2的右边不允许出现浮动元素,这样p2就被迫下移一行,排到p1下边。
Lexplication détaillée la plus facile à comprendre de lattribut CSS float (images et texte détaillés)
至此,读者已经掌握了CSS+p浮动定位基本原理,足以应付常见的布局。

其实,万变不离其宗,只要读者用心体会,再复杂的布局都可以通过总结的规律搞定。

(学习视频分享: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:
css
source:csdn.net
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