css
.container{
margin: 30px auto;
width:600px;
height: 300px;
}
.p{
border:solid 3px #a33;
}
.c{
width: 100px;
height: 100px;
background-color: #060;
margin: 10px;
float: left;
}
<p class="container">
<p class="p">
<p style="clear:both">//为什么不能写元素之前?
<p class="c"></p>
<p class="c"></p>
<p class="c"></p>
<p style="clear:both">
</p>
</p>
Pourquoi les éléments avec l'attribut clear ne peuvent-ils pas être écrits avant les éléments flottants ?
L'élément avec l'attribut clear est écrit avant l'élément flottant, il n'y a donc aucun élément flottant des deux côtés de celui-ci, donc cet attribut n'a aucun effet
Dans le document CSS, clear:both signifie:
Ainsi, les éléments avec l'attribut clear:both peuvent être placés après les éléments flottants pour fermer le flotteur.
J'efface généralement les flotteurs via le pseudo-élément de l'élément parent de l'élément flottant. Dans votre cas c'est le cas
Le pseudo-élément after est le dernier élément enfant de l'élément parent, il peut donc effacer le float dans ce bloc.
Commençons par comprendre l’impact du float et le rôle du clear. Écrivez plus de démos et ressentez-les, et vous saurez où les mettre. Voir plus de documents et plus de Baidu
clear:both; À écrire après l'élément flottant, effacez l'élément flottant.
Laissez-moi parler de ma compréhension
clearboth est pour lui-même
Donc <p style="clear:both"/> signifie effacer les flotteurs gauche et droit de cet élément. S'il est placé devant, le dernier élément flottant le sera. affecte toujours l'élément parent
Ce que vous devez retenir à propos de l'attribut
clear
est :clear
属性一定要牢记的是:1) 该属性是针对元素本身的,比如说 A B C 三个浮动元素,想要清除C元素左边的浮动,则是将
clear
作用在C上, 写成:行不行呢?答案是不行。因为
Est-ce que ça va ? La réponse est non. Parce queclear
1) Cet attribut est pour l'élément lui-même, par exemple, il y a trois éléments flottants A B C. Si vous souhaitez effacez l'élément flottant à gauche de l'élément C, puisclear
est appliqué à C et s'écrit :clear
ne peut effacer que le flottant avant l'élément."clear sur un élément efface uniquement les flottants qui le précèdent dans l'ordre du document. Il n'efface pas les flottants qui le suivent."
2) Il existe de nombreuses façons d'effacer les flottants, mais la plus courante et la plus optimisée consiste à utiliser des pseudo-éléments : #🎜🎜# rrreee