Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Einführung in die Rolle von BFC (Block-Level-Formatierungskontext) in CSS

不言
Freigeben: 2018-10-25 16:26:03
nach vorne
2670 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Rolle von BFC (Block-Level-Formatierungskontext) und ist für Freunde in Not hilfreich.

Definition

BFC steht für Blockformatierungskontext, was den Formatierungskontext auf Blockebene bedeutet. Es handelt sich um den CSS-Rendering-Modus des Box-Modell-Layouts Webseite.

Vielleicht ist die obige Erklärung etwas verwirrend. Laienhaft ausgedrückt bezieht sich BFC auf die Aufteilung eines Bereichs. Das Layout dieses Bereichs weist eine Besonderheit auf: Die Unterelemente in diesem Bereich wirken sich nicht auf externe Elemente aus, unabhängig davon, welches Layout oder welcher Stil verwendet wird. Eine häufige Verwendung von BFC besteht darin, den Effekt des Floatings zu löschen. Wenn der Effekt des Floatings unbekannt ist, wird die Höhe des übergeordneten Elements normalerweise reduziert.

Wann wird BFC ausgelöst? Eine der folgenden Bedingungen ist erfüllt:

  • Der Wert von float ist nicht none

  • Der Wert von position ist nicht statisch oder relativ

  • Der Wert von display ist einer von table-cell, table-caption, inline-block, flex oder inline-flex

  • Der Wert Der Überlauf ist nicht sichtbar

Funktion

Floats löschen

Wir stoßen häufig auf diese Situation: Wenn ein in einem Container enthaltenes untergeordnetes Element ein schwebendes Element enthält Dies führt dazu, dass der Container häufig eine Pseudoklasse verwendet und dann das Clear-Attribut in der Pseudoklasse verwendet, um den Float zu löschen. Tatsächlich kann derselbe Zweck durch die Definition eines BFC erreicht werden . Zum Beispiel:

<div>
    <div></div>
    <div></div>
</div>
Nach dem Login kopieren
.container {
  width: 600px;
  background-color: black;
}
.container p {
  float: left;
  width: 200px;
  height: 200px;
  margin-left: 10px;
  background-color: green;
}
Nach dem Login kopieren

Einführung in die Rolle von BFC (Block-Level-Formatierungskontext) in CSS

Wenn das untergeordnete Element ein Float-Attribut hat und der übergeordnete Container keine Höhe festlegt, wird die Höhe des übergeordneten Containers verwendet wird zusammenbrechen. Wir können dieses Problem lösen, indem wir overflow:hidden zum übergeordneten Container hinzufügen, um einen BFC zu erstellen:

Einführung in die Rolle von BFC (Block-Level-Formatierungskontext) in CSS

Textumbruch verhindern

.container {
  width: 600px;
  background-color: black;
  overflow: hidden;  
}
.container p {
  float: left;
  width: 200px;
  height: 200px;
  margin-left: 10px;
  background-color: green;
}
Nach dem Login kopieren
rrree

Einführung in die Rolle von BFC (Block-Level-Formatierungskontext) in CSS

wie oben Wie im Beispiel gezeigt, erwarten wir unter normalen Umständen, dass das Bild links und die Textbeschreibung links angezeigt werden rechts, anstelle des oben gezeigten Textes, der das Bild umgibt, können wir dieses Problem zu diesem Zeitpunkt auch lösen, indem wir einen BFC erstellen:

<div>
    <img  alt="Einführung in die Rolle von BFC (Block-Level-Formatierungskontext) in CSS" >
    <p>test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test </p>
</div>
Nach dem Login kopieren
Randfaltung verhindern

Im regulären Dokumentenfluss untergeordnete Elemente werden vertikal nacheinander platziert, beginnend von der Oberseite des übergeordneten Elements. Der vertikale Abstand zwischen benachbarten Elementen wird durch dasjenige mit dem größten Abstand bestimmt und nicht durch Zusammenlegen des Randes, zum Beispiel:

img {
  float: left;
  width: 40px;
  height: 40px;
}
Nach dem Login kopieren
img {
  float: left;
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
p {
  overflow: hidden;
}
Nach dem Login kopieren

Einführung in die Rolle von BFC (Block-Level-Formatierungskontext) in CSS

In diesem Fall können wir einen neuen BFC erstellen, um

<div>
    <p>one</p>
    <p>two</p>
</div>
Nach dem Login kopieren
.container {
  width: 200px;
  background-color: black;
}
p {
  width: 150px;
  background-color: green;
}
.one {
  margin: 10px 0;
}
.two {
  margin: 20px 0;
}
Nach dem Login kopieren

Einführung in die Rolle von BFC (Block-Level-Formatierungskontext) in CSS zu lösen

Das obige ist der detaillierte Inhalt vonEinführung in die Rolle von BFC (Block-Level-Formatierungskontext) in CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
css
Quelle:segmentfault.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage