foundation

Logical properties

Use block and inline properties so spacing, borders, and placement follow writing mode and direction.

Logical properties describe edges relative to writing mode: block (paragraph flow) and inline (text direction) instead of physical top, right, bottom, left.

					.card {
  margin-block: 1rem;
  margin-inline: auto;
  padding-inline-start: 1rem;
  border-inline-start: 3px solid var(--accent);
  inset-inline-end: 0;
}
				

`margin-inline`, `padding-block`, `inset`, `border-inline`, and logical sizing (`inline-size`, `block-size`) adapt when `direction: rtl` or vertical writing modes apply — without duplicate rules.

On interviews: internationalization, RTL support, and why margin-inline beats margin-left for reusable components.

The trade-off is migration effort to logical properties versus duplicated physical rules for every writing mode.

Common pitfalls: mixing physical and logical properties in one component; partial migration without visual regression tests.

Checklist:

  • Express spacing and position by flow intent.
  • Test RTL and vertical writing samples.
  • Migrate utilities consistently.
  • Map legacy physical classes deliberately.