Block Formatting Context
A block formatting context, or BFC, is a separate area for block layout. It keeps floats inside and stops some margins and floats from affecting content outside.
Another example
In an old article card, a floated image makes the background collapse and text wrap around a nearby float. Adding `display: flow-root` creates a BFC that contains the image and keeps the wanted child margins. Unlike `overflow: hidden`, it does not cut off focus rings.
Main parts
- 01BFC root
- 02Contained floats
- 03Isolated block flow
Use it when
Use `flow-root` when a component must hold its floats or keep block layout effects inside without clipping content.
Do not use it when
Do not use `overflow: hidden` as an automatic float fix. It may cut off content, shadows, popovers, or focus marks.
Name used in code
display: flow-root (or another BFC-establishing condition) Before you ship
Check content order, shared design values, component consistency, contrast, zoom, and layout changes by screen size. Verify every theme, language, and state. If there is motion, offer an equal reduced-motion experience.
Outcome: Use or define Block Formatting Context to make the visual experience clear and easy to use. User context: In an old article card, a floated image makes the background collapse and text wrap around a nearby float. Adding `display: flow-root` creates a BFC that contains the image and keeps the wanted child margins. Unlike `overflow: hidden`, it does not cut off focus rings. Design concept to apply: Block Formatting Context. Why it fits: Use `flow-root` when a component must hold its floats or keep block layout effects inside without clipping content. Do not use it when: Do not use `overflow: hidden` as an automatic float fix. It may cut off content, shadows, popovers, or focus marks. Design requirements: Set the content order, shared design values, and reusable components. Define how the layout changes by screen size and state. Keep useful design choices separate from decoration. Inclusion and resilience: Check contrast, zoom, languages, themes, and reduced motion when needed. Do not use color or effects as the only way to show meaning. Acceptance criteria: The design stays clear on phones and desktops, at zoom, in every theme, and in all supported languages. Interactive states stay clear and consistent. Evidence and limits (evidence boundary): A formal document may still be a draft, release candidate, or final version. Check its status and browser or platform support. Unknowns to confirm: Brand limits, amount of content, supported themes and languages, target devices, and design-system rules.
Check this request
Review the current use of Block Formatting Context. Definition: A block formatting context, or BFC, is a separate area for block layout. It keeps floats inside and stops some margins and floats from affecting content outside. Release checks: Check content order, shared design values, component consistency, contrast, zoom, and layout changes by screen size. Verify every theme, language, and state. If there is motion, offer an equal reduced-motion experience. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.