Layout & CSS More detail A2 · Formal specification Platform: Web

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.

See how it works
You might call it BFCindependent block formatting context

See how it works

Original worked exampleBlock Formatting Context

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

  1. 01BFC root
  2. 02Contained floats
  3. 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.

Request you can copy

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.

A2
How official is this term?

Formal specification

A published, versioned formal specification defines this term for the listed technical scope.

A formal document may still be a draft, release candidate, or final version. Check its status and browser or platform support.

Scope
CSS block formatting contexts
Document status
draft
Checked on
2026-07-30

Evidence sources & scope

Authority source + Term reference · W3C CSS Working Group · draft CSS Display Module Level 3 — Block formatting contexts Block formatting contexts Scope: CSS formatting contexts and display types; direct scope: Block formatting contexts Role here: Direct term reference Source covers: canonical name, definition, semantics, implementation Authority source · W3C CSS Working Group · draft CSS Display Module Level 3 Scope: CSS formatting contexts and display types Role here: Authority within stated scope Source covers: canonical name, definition, semantics, implementation Term reference W3C — CSS Display Level 3: Block Formatting Contexts Role here: Direct term reference

Copy it yourself

The browser could not copy this. Select the request below and copy it yourself.