All cases
RL-004 / Overflow & ReflowEvidence verified

Fix Long URLs and Unbroken Text Without Hiding Overflow

A continuous identifier has no normal wrapping opportunity, so its line box extends beyond a narrow article and widens the page.

Experiment mode

Fixture viewport

Failingoverflow-wrap: normal
Viewport / page
--
Log value
--
Page overflow
--
Fixedoverflow-wrap: anywhere
Viewport / page
--
Log value
--
Page overflow
--

Three-browser evidence verified. Live values come from your current browser. The formal matrix records the controlled browser runs and fixture revision used for the published conclusion.

Observed failure

The line has no permitted soft wrap point

The generated identifier is wider than the available inline size. Ordinary wrapping cannot split it, so the text paints past its content box and increases the document scroll width.

Minimal code diff

Allow emergency breaks inside the value

Apply `overflow-wrap: anywhere` to the narrow text field that may receive continuous values, while keeping normal wrapping rules elsewhere.

Before

.log-value {
  overflow-wrap: normal;
}

After

.log-value {
  overflow-wrap: anywhere;
}

Root cause

Text normally wraps at language-defined opportunities such as spaces. A generated identifier can contain no usable opportunity at all. Its min-content contribution then reflects the complete uninterrupted token, which may be much wider than a phone viewport.

The fixture uses an invented build identifier with no personal or production data. The failing state keeps the normal wrapping rule; the fixed state permits an emergency break only when the token cannot otherwise fit.

Test representative content extremes

Do not validate this rule with a short placeholder. Use the longest safe examples the field can actually receive: generated filenames, hashes, URLs with long path segments, translated labels, and user-provided identifiers after any server-side limits. Compare the value’s bounding rectangle with its content box at 320 CSS pixels and at increased text zoom. The complete text must remain present in the DOM, selectable, and visible after wrapping.

Place the emergency wrapping rule on the field that owns continuous values rather than on every paragraph in the application. That keeps normal language readable and makes the exception easy to audit. It also exposes cases where a neighboring icon, fixed column, or flex minimum is the real remaining constraint.

When this fix is not enough

Do not apply aggressive breaking to every paragraph. Human-language content should retain normal word boundaries, and values that must be copied exactly should remain selectable and complete. word-break: break-all may be appropriate for a deliberately compact identifier column, but it is usually less readable for general prose.

Regression condition

At 320 and 375 CSS pixels, the failing fixture must create positive page-level overflow. The fixed fixture must report zero page-level overflow, and the complete identifier must remain present and selectable inside its content box.

Primary references

Sources checked for this case

  1. CSS Text Module Level 4 - overflow-wrap - W3C, checked 2026-08-04

Formal evidence

Browser and viewport matrix

Three-browser run

Cells show failing / fixed page overflow in CSS pixels.

Browser32037576810241440
Chromium+380 / +0+325 / +0+0 / +0+0 / +0+0 / +0
Firefox+380 / +0+325 / +0+0 / +0+0 / +0+0 / +0
WebKit+347 / +0+292 / +0+0 / +0+0 / +0+0 / +0
12/12 recorded assertions passed
  • chromium-failing-overflow-320380px
  • chromium-fixed-overflow-3200px
  • chromium-failing-overflow-375325px
  • chromium-fixed-overflow-3750px
  • firefox-failing-overflow-320380px
  • firefox-fixed-overflow-3200px
  • firefox-failing-overflow-375325px
  • firefox-fixed-overflow-3750px
  • webkit-failing-overflow-320347px
  • webkit-fixed-overflow-3200px
  • webkit-failing-overflow-375292px
  • webkit-fixed-overflow-3750px