Heim >Web-Frontend >CSS-Tutorial >Wie unterscheidet sich Margin Collapsed zwischen herkömmlichem CSS und Flexbox?

Wie unterscheidet sich Margin Collapsed zwischen herkömmlichem CSS und Flexbox?

Linda Hamilton
Linda HamiltonOriginal
2024-11-26 00:19:15398Durchsuche

How Does Margin Collapsing Differ Between Traditional CSS and Flexbox?

Rand kollabiert in Flexbox

Wenn in herkömmlichem CSS sowohl ein übergeordnetes Element als auch sein letztes untergeordnetes Element Ränder haben, werden die Ränder zu einem einzigen Rand zusammengelegt. Bei Verwendung von Flexbox ändert sich dieses Reduzierverhalten jedoch.

In Flexbox werden Elemente innerhalb eines Flex-Containers mithilfe der display:flex-Eigenschaft ausgerichtet. Dadurch wird ein flexibler Formatierungskontext erstellt, der sich von einem Blockformatierungskontext hinsichtlich der Randreduzierung unterscheidet.

In einem Blockformatierungskontext werden Ränder wie folgt reduziert:

article {
  margin-bottom: 20px;
}

main {
  margin-bottom: 20px;
}

footer {
  margin-top: 20px;
}

<!-- Outputs a 20px margin between the last article and footer -->

In a Flex-Formatierungskontext, Ränder werden nicht reduziert:

#container {
  display: flex;
  flex-direction: column;
}

article {
  margin-bottom: 20px;
}

main {
  margin-bottom: 20px;
}

footer {
  margin-top: 20px;
}

<!-- Outputs a 40px margin between the last article and footer -->

Dieser Unterschied im Verhalten ist auf die separaten Formatierungsregeln von Flexbox zurückzuführen. In einem Flex-Kontext werden Ränder einzeln auf jedes Element innerhalb des Containers angewendet, was zu nicht reduzierten Rändern führt.

Das obige ist der detaillierte Inhalt vonWie unterscheidet sich Margin Collapsed zwischen herkömmlichem CSS und Flexbox?. 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