suchen
HeimWeb-FrontendCSS-TutorialWas ist ein Float und wie kann man ihn löschen?

Was ist ein Float und wie kann man ihn löschen?

Sep 11, 2018 pm 05:44 PM
clearcss伪元素浮动

In diesem Kapitel erfahren Sie, was Schwimmer sind und wie Sie sie löschen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

1. Floating

Wenn wir über Floating sprechen, müssen wir den Dokumentenfluss erwähnen rechts Die Reihenfolge von oben nach unten wird als Dokumentenfluss bezeichnet und ist die normale Anordnung.

Und was schwimmt? Das Floating führt dazu, dass das Element aus dem Dokumentfluss ausbricht. Wenn das A-Element schwebend ist und das ursprünglich nach dem Element eingestufte Element feststellt, dass sich das A-Element nicht mehr im Dokumentfluss befindet, wird es ignoriert und nach oben verschoben Element vor dem A-Element (PS: Aber der Text ignoriert es nicht, sondern umgibt auch das A-Element, was bedeutet, dass das A-Element nicht aus dem Textfluss ausbricht.

Was ist ein Float und wie kann man ihn löschen?

Und wenn Sie die absolute Positionierung der Position verwenden, wird der Textfluss auch vom Dokument getrennt

Was ist ein Float und wie kann man ihn löschen?

Der Vorteil des Schwebens ist Kurslayout, z. B. Floating, um ein dreispaltiges Layout, Textumbruch usw. zu bilden. Aber Floating hat auch ein Problem, das heißt, es führt zu einem Zusammenbruch, wie im Bild oben gezeigt, der die Höhe des übergeordneten Elements hat kollabiert und die schwebenden untergeordneten Elemente wurden nicht umschlossen, was zu Layoutfehlern führt.

Was ist BFC? ist die Abkürzung für Blockformatierungskontext, der den Formatierungskontext auf Blockebene darstellt. Beim Erstellen von BFC gibt es die folgenden Situationen: Der Wert von float ist kein Wert von

Überlauf ist nicht sichtbar. Der Wert von

display ist einer von table-cell, table-caption und inline-block. Der Wert von

ist umzubrechen Nach meinem Verständnis behandelt das Element beim Erstellen eines BFC den Inhalt als seinen eigenen, einschließlich der schwebenden Elemente, und erstellt dann ein privates Feld zum Umschließen. Darüber hinaus verfügt BFC auch über die folgenden Funktionen: 1. Machen Sie die oberen und unteren Ränder ungültig, die sich sonst überlappen würden. Platzieren Sie die beiden Boxen, die Sie ungültig machen möchten, in einer übergeordneten Box und erstellen Sie dann einen BFC für die übergeordnete Box, das schwebende Element in der oberen rechten Ecke 🎜>

Es gibt ungefähr zwei Arten von Floating-Methoden: beide sind | .

1. Fügen Sie am Ende des schwebenden Elements ein leeres Tag hinzu und stellen Sie den Stil auf „beide |“ ein. Andere Tags wie „br“ können ebenfalls verwendet werden 🎜> Vorteile: Einfach. Zusätzliche Tags hinzugefügt, und dies entspricht offensichtlich nicht der Semantik. *Verwenden Sie das br-Tag und seine eigenen HTML-Attribute |. keine;

<div class="parent">    
      <div class="child"></div>
    <div style="clear: both;"></div>
</div>

Vorteile: weniger einfacher Code, etwas bessere Semantik als leere Tags.

Nachteile: Es werden zusätzliche Tags hinzugefügt, und dies ist offensichtlich nicht semantisch.

2. Verwenden Sie ::after Pseudo-Element (Taiwan Balm-Methode)

Was ist ein Float und wie kann man ihn löschen?ps: Da IE6-7 :after nicht unterstützt, verwenden Sie `zoom:1, um hasLayout auszulösen. Tatsächlich wird durch den Inhalt ein Element auf Blockebene mit leerem Inhalt Was ist ein Float und wie kann man ihn löschen?

generiert. Der Code lautet wie folgt:

<div class="parent">    
    <div class="child"></div>
    <br clear=&#39;all&#39;>
</div>

Vorteile: Die Struktur und Semantik sind völlig korrekt Die Codemenge ist zentriert.

Was ist ein Float und wie kann man ihn löschen?Nachteile: Durch unsachgemäße Wiederverwendung erhöht sich die Codemenge.

Es gibt eine andere Möglichkeit, Pseudoelemente zu schreiben:

// 用display:table 是为了避免外边距margin重叠导致的margin塌陷, 内部元素默认会成为 table-cell 单元格的形式
.clearfix:before, .clearfix:after {    content:"";    display:table;}
.clearfix:after{    clear:both;    overflow:hidden;}
.clearfix{ zoom:1; }

3.父元素设置 overflow:hidden,(PS:在IE6中还需要触发 hasLayout ,例如 zoom:1)

优点:不存在结构和语义化问题,代码量极少。

缺点:由于hidden的原因,当内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素,还会导致中键失效(鼠标中键)。

4.父元素设置 overflow:auto 属性

优点:同上

缺点:多个嵌套后,会有bug,详情看原文。

5.父元素也浮动

优点:代码少

缺点:总不能一直浮动到body吧。

6.父元素设置display:table

优点:结构语义化完全正确,代码量极少。

缺点:会造成盒模型的改变。

Das obige ist der detaillierte Inhalt vonWas ist ein Float und wie kann man ihn löschen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 viel Spezifität haben @Rules wie @Keyframes und @Media?Wie viel Spezifität haben @Rules wie @Keyframes und @Media?Apr 18, 2025 am 11:34 AM

Ich habe diese Frage neulich bekommen. Mein erster Gedanke ist: seltsame Frage! Bei der Spezifität geht es um Selektoren, und Rules sind keine Selektoren, also ... irrelevant?

Können Sie @Media und @Support -Abfragen nisten?Können Sie @Media und @Support -Abfragen nisten?Apr 18, 2025 am 11:32 AM

Ja, Sie können, und es ist nicht wirklich wichtig in welcher Reihenfolge. Ein CSS -Präprozessor ist nicht erforderlich. Es funktioniert in regulären CSS.

Schnellschluck -Cache -BustingSchnellschluck -Cache -BustingApr 18, 2025 am 11:23 AM

Sie sollten auf jeden Fall weitausgestellte Cache-Header auf Ihren Vermögenswerten wie CSS und JavaScript (und Bilder und Schriftarten und was auch immer) festlegen. Das sagt dem Browser

Auf der Suche nach einem Stapel, der die Qualität und Komplexität von CSS überwachtAuf der Suche nach einem Stapel, der die Qualität und Komplexität von CSS überwachtApr 18, 2025 am 11:22 AM

Viele Entwickler schreiben darüber, wie sie eine CSS -Codebasis pflegen können, aber nicht viele von ihnen schreiben darüber, wie sie die Qualität dieser Codebasis messen. Sicher, wir haben

Datalist dient dazu, Werte vorzuschlagen, ohne Werte durchzusetzenDatalist dient dazu, Werte vorzuschlagen, ohne Werte durchzusetzenApr 18, 2025 am 11:08 AM

Haben Sie jemals ein Formular gehabt, das ein kurzes, willkürliches Stück Text akzeptieren musste? Wie ein Name oder was auch immer. Das ist genau das, wofür es ist. Es gibt viele

Frontkonferenz in ZürichFrontkonferenz in ZürichApr 18, 2025 am 11:03 AM

Ich bin so aufgeregt, nach Zürich, der Schweiz, zur Frontkonferenz zu gehen (liebe diesen Namen und diese URL!). Ich war noch nie in der Schweiz, also bin ich aufgeregt

Erstellen einer serverlosen Full-Stack-Anwendung mit Cloudflare-MitarbeiternErstellen einer serverlosen Full-Stack-Anwendung mit Cloudflare-MitarbeiternApr 18, 2025 am 10:58 AM

Eine meiner Lieblingsentwicklungen in der Softwareentwicklung war das Aufkommen von Serverless. Als Entwickler, der die Tendenz hat, sich in den Details festzuhalten

Erstellen dynamischer Routen in einer Nuxt -AnwendungErstellen dynamischer Routen in einer Nuxt -AnwendungApr 18, 2025 am 10:53 AM

In diesem Beitrag werden wir eine E -Commerce -Store -Demo verwenden, die ich für Netlify erstellt und bereitgestellt habe, um zu zeigen, wie wir dynamische Routen für eingehende Daten erstellen können. Es ist fair

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尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen