Inhaltsverzeichnis
h1
Heim Web-Frontend CSS-Tutorial Was ist BFC? Eine ausführliche Analyse von BFC

Was ist BFC? Eine ausführliche Analyse von BFC

Oct 18, 2018 pm 02:12 PM
css css3 html html5 javascript

Der Inhalt dieses Artikels befasst sich mit der Frage: Was ist BFC? Die ausführliche Analyse von BFC hat einen gewissen Referenzwert. Freunde in Not können darauf zurückgreifen.

1. Was ist BFC

Formatierungskontext ist W3C CSS2.1 Ein Konzept in der Spezifikation. Es handelt sich um einen Rendering-Bereich auf der Seite und verfügt über eine Reihe von Rendering-Regeln, die bestimmen, wie seine Unterelemente positioniert werden und welche Beziehung und Interaktion sie mit anderen Elementen haben. am häufigsten Der Formatierungskontext umfasst den Blockformatierungskontext (kurz BFC) und die Inline-Formatierung Kontext (kurz IFC). Der Blockformatierungskontext wird wörtlich als „Formatierungskontext auf Blockebene“ übersetzt. Es handelt sich um einen unabhängigen Rendering-Bereich, an dem nur die Box auf Blockebene beteiligt ist. Er legt fest, wie die interne Box auf Blockebene angeordnet ist, und hat nichts mit der Außenseite dieses Bereichs zu tun. Laienhaft ausgedrückt ist BFC ein Container, der zur Verwaltung von Elementen auf Blockebene verwendet wird.

2. So erstellen Sie BFC

  • Float ist links|rechts

  • Überlauf ist ausgeblendet |. auto|scroll

  • Anzeige ist Tabellenzelle|Tabellenüberschrift|inline-block|inline-flex|flex

  • Position ist absolut |. behoben

  • Wurzelelement

3. BFC-Layoutregeln:

  • Die inneren Boxen werden in vertikaler Richtung nacheinander platziert (d. h. Elemente auf Blockebene belegen eine Reihe).

  • Der BFC-Bereich überschneidet sich nicht mit der Float-Box (Verwenden Sie dies, um ein adaptives zweispaltiges Layout zu erreichen).

  • Der vertikale Abstand der internen Box wird durch den Rand bestimmt. Die Ränder zweier benachbarter Boxen, die zum selben BFC gehören, überlappen sich ( Randüberlappung hat drei Bedingungen: Zugehörigkeit zum selben BFC; angrenzend; Element auf Blockebene ).

  • Bei der Berechnung der BFC-Höhe sind auch schwebende Elemente an der Berechnung beteiligt. (Floating-Haslayout löschen)

  • BFC ist ein isolierter unabhängiger Container auf der Seite. Die untergeordneten Elemente im Container haben keinen Einfluss auf die Elemente außerhalb. Und umgekehrt.

4. Was sind die Funktionen von BFC

Funktion 1: BFC verhindert das Falten vertikaler Ränder

Gemäß der Definition von BFC ist eine vertikale Randüberlappung nur dann möglich, wenn zwei Elemente zum selben BFC gehören. Dies schließt benachbarte Elemente oder verschachtelte Elemente ein, solange zwischen ihnen kein Hindernis besteht (z. B. Ränder, nicht). -leerer Inhalt, Auffüllung usw.) wird zu Randüberlappungen führen.

①Randüberlappungsproblem benachbarter Geschwisterelemente

<style>
p{
        color: #fff;
        background: #888;
        width: 200px;
        line-height: 100px;
        text-align:center;
        margin: 100px;
  }
</style>

    <p>ABC</p>
    <p>abc</p>
Nach dem Login kopieren

Was ist BFC? Eine ausführliche Analyse von BFC

Zwischen den beiden P-Elementen im obigen Beispiel Der Abstand zwischen ihnen sollte 200 Pixel betragen, tatsächlich beträgt er jedoch nur 100 Pixel und es kommt zu Randüberlappungen. Wie gehen wir mit dieser Situation um?
Sie müssen nur einen Container um p wickeln und den Container auslösen, um einen BFC zu generieren. Dann gehören die beiden Ps nicht zum selben BFC und es wird keine Randüberlappung geben .

<style>
p{
        color: #fff;
        background: #888;
        width: 200px;
        line-height: 100px;
        text-align:center;
        margin: 100px;
    }
.wrap{
  overflow:hidden;
}
</style>

   <p>ABC</p>
  <div>
    <p>abc</p>
  </div>
Nach dem Login kopieren

Was ist BFC? Eine ausführliche Analyse von BFC

②Problem mit überlappenden Rändern von übergeordneten und untergeordneten Elementen

<style>
.box{
width:100px;
height:100px;
background:#ccc;
}
.wrap {
  background:yellow;
}
.wrap h1{
  background:pink;
  margin:40px;
}
</style>

<div>box</div>
<div>
  <h1 id="h">h1</h1>
</div>
Nach dem Login kopieren

Was ist BFC? Eine ausführliche Analyse von BFC

Theoretisch sollte zwischen dem Wrap-Element und dem h1-Element im obigen Bild ein oberer und unterer Randwert von 40 Pixeln vorhanden sein. Tatsächlich gibt es jedoch keinen Randwert für die übergeordneten und untergeordneten Elemente. Der Abstand zwischen den beiden p-Elementen beträgt 40 Pixel. Wie gehen wir mit dieser Situation um?
Es gibt tatsächlich viele Verarbeitungsmethoden. Fügen Sie zum Wrap-Element „Overflow: Hidden“ hinzu element. : 1px; Diese können das Problem der Randüberlappung zwischen übergeordneten und untergeordneten Elementen effektiv lösen.

Was ist BFC? Eine ausführliche Analyse von BFC

Funktion 2: BFC überlappt keine schwebenden Elemente

Mit dieser Funktion können wir erstellenAdaptives zweispaltiges Layout.

<style>
.box1{
  height: 100px;
  width: 100px;
  float: left;
  background: lightblue;
}
.box2{width: 200px;
  height: 200px;
  background: #eee;
}
</style>

<div>我是一个左浮动的元素</div>
<div>喂喂喂!大家不要生气嘛,生气会犯嗔戒的。悟空你也太调皮了,
我跟你说过叫你不要乱扔东西,你怎么又……你看,我还没说完你就把棍子给扔掉了!
月光宝盒是宝物,你把它扔掉会污染环境,要是砸到小朋友怎么办,就算砸不到小朋友,
砸到花花草草也是不对的。</div>
Nach dem Login kopieren

Was ist BFC? Eine ausführliche Analyse von BFC

Im Bild oben ist der Text um das schwebende Element herum angeordnet, aber hier ist das offensichtlich nicht das, was wir wollen. Zu diesem Zeitpunkt können wir overflow:hidden zum Stil des .box2-Elements hinzufügen. Dadurch wird ein BFC erstellt, sodass dessen Inhalt die Auswirkungen auf externe schwebende Elemente beseitigen kann .

Was ist BFC? Eine ausführliche Analyse von BFC

这个方法可以用来实现两列自适应布局,效果不错,此时左边的宽度固定,右边的内容自适应宽度。如果我们改变文字的大小或者左边浮动元素的大小,两栏布局的结构依然没有改变!

特性3:BFC可以包含浮动----清除浮动

我们都知道浮动会脱离文档流,接下来我们看看下面的例子:

<style>
.box1{
  width:100px;
  height:100px;
  float:left;
  border: 1px solid #000;
}
.box2{
  width:100px;
  height:100px;
  float:left;
  border: 1px solid #000;
}
.box{
  background:yellow
}
</style>

<div>
  <div></div>
  <div></div>
</div> 
Nach dem Login kopieren

Was ist BFC? Eine ausführliche Analyse von BFC

由于容器内两个div元素浮动,脱离了文档流,父容器内容宽度为零(即发生高度塌陷),未能将子元素包裹住。解决这个问题,只需要把把父元素变成一个BFC就行了。常用的办法是给父元素设置overflow:hidden。

Was ist BFC? Eine ausführliche Analyse von BFC

Das obige ist der detaillierte Inhalt vonWas ist BFC? Eine ausführliche Analyse von BFC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

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 vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

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

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Rollen von HTML, CSS und JavaScript: Kernverantwortung Die Rollen von HTML, CSS und JavaScript: Kernverantwortung Apr 08, 2025 pm 07:05 PM

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So schreiben Sie geteilte Zeilen auf Bootstrap So schreiben Sie geteilte Zeilen auf Bootstrap Apr 07, 2025 pm 03:12 PM

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

Worauf bezieht sich H5? Erforschen des Kontextes Worauf bezieht sich H5? Erforschen des Kontextes Apr 12, 2025 am 12:03 AM

H5REFERSTOHTML5, ApivotaltechnologyInwebdevelopment.1) HTML5IntroducesNewelementsandapisrich, Dynamicwebapplications.2) ITSUPP ortsmultimediaWitHoutPlugins, BETHINGINGUSEREXPERICERCROSSDEVICES.3) SEMANTICELEMENTSIMPROVEPENTENTENTENTRUCTENTRUCTELUREANDSEO.4) H5'SRespo

So ändern Sie Bootstrap So ändern Sie Bootstrap Apr 07, 2025 pm 03:18 PM

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

So richten Sie das Framework für Bootstrap ein So richten Sie das Framework für Bootstrap ein Apr 07, 2025 pm 03:27 PM

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

So fügen Sie Bilder auf Bootstrap ein So fügen Sie Bilder auf Bootstrap ein Apr 07, 2025 pm 03:30 PM

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

Reacts Rolle bei HTML: Verbesserung der Benutzererfahrung Reacts Rolle bei HTML: Verbesserung der Benutzererfahrung Apr 09, 2025 am 12:11 AM

React kombiniert JSX und HTML, um die Benutzererfahrung zu verbessern. 1) JSX bettet HTML ein, um die Entwicklung intuitiver zu gestalten. 2) Der virtuelle DOM -Mechanismus optimiert die Leistung und reduziert den DOM -Betrieb. 3) Komponentenbasierte Verwaltungs-Benutzeroberfläche zur Verbesserung der Wartbarkeit. 4) Staatsmanagement und Ereignisverarbeitung verbessern die Interaktivität.

See all articles