suchen
HeimWeb-FrontendCSS-TutorialDetaillierte 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.

Code kopieren Der Code lautet wie folgt:

                                                                                                                                                                                                        
CSS-Code:





Code kopieren


Der Code lautet wie folgt:

.boxBg{

margin: 0 auto;

width:500px;

height:200px; border:2px solid #ccc } .box1{ width:100px; height:50px;Hintergrundfarbe:rot
}
.box2{
width:100px;
height:50px;
background-color:blue
}
.box3{
Breite :100px;
Höhe :50px;
Hintergrundfarbe:grün
}



Ausführungsergebnis:




Da div ein Element auf Blockebene ist, werden die Boxen vertikal angeordnet. Im tatsächlichen Betrieb ist es häufig erforderlich, die Rahmen horizontal anzuordnen. Es gibt zwei Möglichkeiten, dies zu tun. Der erste ist display:inlin-block;



Code kopieren

Der Code lautet wie folgt:Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

.boxBg{

margin: 0 auto;

width:500px;

height:200px; border:2px solid #ccc } .box1{ width:100px; height:50px;Hintergrundfarbe:rot;
Anzeige:inline-block
}
.box2{
width:100px;
height:50px;
background-color:blue;
display :inline-block
}
.box3{
width:100px;
height:50px;
background-color:green;
display:inline-block
}



Ausführungsergebnis:




Der wesentliche Grund für die Lücke in der Mitte ist der Leerraum zwischen den Elementen. Wenn Sie also die Größe von fone-size im übergeordneten Element festlegen, kann die Größe des Leerraums angepasst werden.



Code kopieren

Der Code lautet wie folgt:Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

.boxBg{

margin: 0 auto;

width:500px;

height:200px; border:2px solid #ccc; font-size:34px;}
Nachdem Sie die Schriftgröße auf 34 Pixel eingestellt haben, wird die Lücke größer.

Ausführungsergebnis:




Wenn Sie die Lücke entfernen möchten, müssen Sie ebenfalls die Schriftgröße ändern:0;

Code kopieren

Der Code lautet wie folgt:Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

.boxBg{

margin: 0 auto;

width:500px;

height:200px; border:2px solid #ccc; font-size:0}

Ausführungsergebnis:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

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.

Code kopieren Der Code lautet wie folgt:


Ausführungsergebnis:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

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.

Code kopieren Der Code lautet wie folgt:


Ausführungsergebnis:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

Was wird das Ergebnis sein, wenn Inline-Block verwendet wird?

Code kopieren Der Code lautet wie folgt:


Ausführungsergebnis:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

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?

Code kopieren Der Code lautet wie folgt:

.box3{
width:100px ;
height:50px;
background-color:green;
}

Ausführungsergebnis:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

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

Code kopieren Der Code lautet wie folgt:

.box3{
height:50px ;
Hintergrundfarbe:grün;
}

Ausführungsergebnis:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

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

Code kopieren Der Code lautet wie folgt:

.box3{
width:300px ;
height:50px;
background-color:green;
}

Ausführungsergebnis:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

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 :)

Wir alle wissen, dass der Grund für diese Situation im Schweben liegt. Es wird an vielen Stellen gesagt, dass sich schwebende Elemente vom gewöhnlichen Fluss lösen, daher können gewöhnliche Elemente als schwebende Elemente behandelt werden Existieren nicht, daher gibt es hier nichts dergleichen. Der Hintergrund wird geöffnet, aber Schüler, die sorgfältig lesen, werden sich daran erinnern, dass oben erwähnt wurde, dass sich schwebende Elemente nicht auf Blockfelder, sondern auf Zeilenfelder, also Text oder Inline, auswirken Elemente, unabhängig davon, ob es sich um Elemente auf Blockebene oder um Inline-Elemente handelt. Wenn das schwebende Element vom normalen Fluss abweicht, warum wirkt es sich dann auf die Zeilenbox aus? Tatsächlich glaube ich nicht, dass es nötig ist, sich mit diesen konzeptionellen Dingen zu befassen. Nach meinem Verständnis befinden sich schwebende Elemente nicht im selben horizontalen Raum wie Elemente auf Blockebene, sondern im selben Raum wie Text-Inline-Elemente. Daher entspricht der Rand hier der Platzierung über dem Hintergrund und hat daher keine Auswirkungen auf den Hintergrundelemente. Was normalerweise als Löschen von Floats bezeichnet wird, bedeutet nicht, das Float-Attribut des Floating-Elements zu entfernen, sondern die Floating-Elemente um es herum zu löschen, sodass sich keine Floating-Elemente um es herum befinden Wenn Sie in die zweite Zeile wechseln, können Sie „clear:right;“ nicht in Feld 2 verwenden. Sie müssen „clear:left;

“ in Feld 3 verwenden

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

Code kopieren

Der Code lautet wie folgt:

.box3{ float:left ; width:100px; height:50px;background-color:green;clear:left
}



Ausführungsergebnis:




Ok! Jetzt, da ich das verstanden habe, wollen wir darüber sprechen, wie man den Hintergrund und den Rahmen auf die gleiche Höhe bringt. Der erste Weg: Der direkteste Weg besteht darin, die Hintergrundhöhe direkt auf den Rahmen und den Rahmen einzustellen Natürlich geht es nicht darum, es zu löschen. Schauen wir uns zunächst das Beispiel an:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic TutorialCode kopieren

Der Code lautet wie folgt:






     


   

       
        框框1
       

       

        框框2
       


        框框3
       

       

   






执行结果:


>所以是跟背景一样,因此背景被撑开了.其实是用清除浮动的原理跟这个是一样的,也是想办法撑开背景;以上去掉clear的宽,高,加上clear属性

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

复制代码

代码如下:

执行结果:



这个可能还看不清楚,给clear框里边加几个字试试看

执行结果:

Detaillierte Analyse des Unterschieds zwischen CSS-Float-Attribut und position:absolute_Basic Tutorial

因为clear用了clear:left综上所述,clear左边不能有浮动元素,所以它必须另起一行显示。如此便看到图上的结果,其实还是用一个元素撑开的背景.当然还有其他方法实现,这里主要是讲清楚浮动就好了:)

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie man zu einem Open -Source -Projekt beiträgtWie man zu einem Open -Source -Projekt beiträgtApr 17, 2025 am 10:10 AM

Das Folgende wird leicht einsprechend werden und zielt darauf ab, jemanden auf seine Reise in Open Source zu führen. Als Voraussetzung sollten Sie Basic haben

Navigationsfaktor an @KeyFramers stupsenNavigationsfaktor an @KeyFramers stupsenApr 17, 2025 am 10:09 AM

Ich musste neulich der vorgestellte Gast auf den Keyframers sein. Wir sahen uns einen Dribbble -Schuss von Björgvin Pétur Sigurjónsson an und bauten ihn dann langsam.

CSS -SicherheitslückenCSS -SicherheitslückenApr 17, 2025 am 10:02 AM

Lesen Sie diese Überschrift nicht und machen Sie sich Sorgen. Ich denke nicht, dass CSS ein besonders gefährliches Sicherheitsbedenken ist, und zum größten Teil denke ich nicht

Andere Möglichkeiten zum SpasAndere Möglichkeiten zum SpasApr 17, 2025 am 10:01 AM

Das reimte lolz.

Ohne bauenOhne bauenApr 17, 2025 am 10:00 AM

I ' M in einer Fernbeziehung. Das heißt

Beratung zum technischen SchreibenBeratung zum technischen SchreibenApr 17, 2025 am 09:51 AM

Vor einem kürzlichen Podcast mit dem unglaublichen technischen Autor und dem Chefredakteur für das Smashing Magazine, Rachel Andrew, sammelte ich eine Reihe von Gedanken und versammelte mich

Verwenden einer PostCSS -Funktion, um Ihren reaktionsschnellen Workflow zu automatisierenVerwenden einer PostCSS -Funktion, um Ihren reaktionsschnellen Workflow zu automatisierenApr 17, 2025 am 09:48 AM

Vor einiger Zeit haben Sie diesen CSS-Tricks-Artikel gestoßen, in dem ich beschrieben habe, wie ein Mixin verwendet werden kann, um reaktionsschnelle Schriftgrößen mithilfe von RFS zu automatisieren.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),