Heim > Artikel > Web-Frontend > Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial
1. Das Float-Attribut definiert, in welche Richtung das Element schwimmt. In der Vergangenheit wurde diese Eigenschaft immer auf Bilder angewendet, wodurch der Text um das Bild herum umbrochen wurde. In CSS kann jedoch jedes Element schwebend dargestellt werden. Ein schwebendes Element erstellt eine Box auf Blockebene, unabhängig von der Art des Elements. div ist ein typisches Element auf Blockebene, das allein eine Zeile einnimmt.
Sehen wir uns zunächst an, wie die grundlegendsten Elemente auf Blockebene angeordnet sind. HTML-Code, die folgenden Stile basieren darauf.
.boxBg{
margin: 0 auto;width:500px;
Der Code lautet wie folgt:
.boxBg{
margin: 0 auto;width:500px;
Der Code lautet wie folgt:
.boxBg{
margin: 0 auto;width:500px;
Der Code lautet wie folgt:
.boxBg{
margin: 0 auto;width:500px;
Ausführungsergebnis:
Auf diese Weise wird das gewünschte Layout erreicht und der Text innerhalb der Box verschwindet. Dies beweist auch, dass die Größe des Textes die Lücke beeinflusst. Setzen Sie es einfach im untergeordneten Element zurück. Natürlich steht das heute nicht im Mittelpunkt. Der gleiche Effekt float:left; kann auch leicht erreicht werden.
Ausführungsergebnis:
Nach dem Hinzufügen von Float zu einem-Element wird das Floating-Element sofort angezeigt, nachdem es den Rand des übergeordneten Elements oder eines anderen Floating-Elements erreicht. Wenn beispielsweise im folgenden Beispiel die Gesamtbreite des schwebenden Elements größer als die des übergeordneten Elements ist, wird die Zeile umbrochen. Beim Umbrechen der Zeile wird das vorherige schwebende Element angetroffen und
danach angezeigt.Ausführungsergebnis:
Was wird das Ergebnis sein, wenn Inline-Block verwendet wird?
Ausführungsergebnis:
Zu diesem Zeitpunkt beginnt Feld 3 in einer neuen Zeile, anstatt auf Feld 1 zu folgen (die Lücke zwischen 1 und 2 wird hier nicht besprochen). Dies ist auch eine Beurteilung unter Verwendung von Inline-Block und Float Anders Die Verwendung von Float-Schriftsätzen kann zu anderen Ergebnissen als erwartet führen. Daher ist es hervorragend, Float zu verwenden, wenn Breite und Höhe unverändert bleiben. Wenn es inkonsistent ist, müssen Sie sich das spezifische Layout ansehen und geeignete Attribute verwenden.
Der Code wird unten veröffentlicht, nur der geänderte Teil wird veröffentlicht, der Rest bleibt unverändert und die Struktur bleibt unverändert.
Was wird das Ergebnis sein, wenn der Float: links von Box3 entfernt wird? Nach dem Verständnis belegen schwebende Elemente keinen Platz, d. h. Frame 3 ignoriert Frame 1 und Frame 2 wird direkt neben dem Rand des übergeordneten Elements angezeigt, d. h. Frame 1 deckt Frame 3 ab Ergebnis?
Ausführungsergebnis:
Warum erscheint der Text in Feld 3 unten, anstatt von Feld 1 abgedeckt zu werden? Dann schauen Sie sich den Code und das Bild an
Ausführungsergebnis:
Sehen Sie den Unterschied? Ja. box3 definiert die Breite nicht; die Breite wird nicht definiert, die Standardbreite ist die Breite des übergeordneten Elements, was bedeutet, dass das schwebende Element zu diesem Zeitpunkt das nicht schwebende Element abdeckt , die Breite von 200 Pixel vor Feld 3 wird vom schwebenden Element abgedeckt. Warum wird der Text nicht abgedeckt und der Text wird um 200 Pixel hinter dem schwebenden Element gequetscht?
Schwebende Elemente belegen nicht den Platz des Blocks, daher hat Box drei 100 % der Breite des übergeordneten Containers von 500 Pixeln, aber schwebende Elemente nehmen einen anderen Platz ein, nämlich den Platz der Zeilenbox Platz, den der Text einnimmt.
Dies ist auch der Grund, warum der Text automatisch um das Bild herum umbrochen wird, nachdem es schwebend ist. Schwebende Elemente belegen keinen Platz auf Blockebene, wirken sich jedoch auf Text und Inline-Elemente innerhalb von Elementen auf Blockebene aus.
Wenn Sie in diesem Fall möchten, dass die drei Felder die gleiche Breite haben, müssen Sie nur die Breite der drei Felder ändern: 300px
Ausführungsergebnis:
Nachdem wir nun über das grundlegende Floating gesprochen haben, sprechen wir über die Probleme. Obwohl Floating einfach zu verwenden ist, wird es in der Praxis auch viele Probleme verursachen. Zum Beispiel:
Ausführungsergebnis:
Unter normalen Umständen ein sehr häufiges Problem. Der graue Hintergrund sollte so hoch sein wie der Rahmen, aber die Realität ist immer nicht zufriedenstellend :)
“ in Feld 3 verwenden
Code kopieren
Der Code lautet wie folgt:Code kopieren
Der Code lautet wie folgt:代码如下:
执行结果:
因为clear用了clear:left综上所述,clear左边不能有浮动元素,所以它必须另起一行显示。如此便看到图上的结果,其实还是用一个元素撑开的背景.当然还有其他方法实现,这里主要是讲清楚浮动就好了:)