← Chrome 147 reference

v147 · css · interop fix

CSS update: decoupling of Width and Style properties

Chrome 147 aligns with Firefox and Safari: the computed values of border-width, outline-width, and column-rule-width are now independent of their corresponding *-style properties. Previously Chrome forced the computed width to 0px when style was none or hidden; now the author-specified width is always reflected in getComputedStyle().

what changed

PropertyBefore Chrome 147Chrome 147+
border-width Computed value forced to 0px when border-style: none Computed value reflects the authored value regardless of border-style
outline-width Computed value forced to 0px when outline-style: none Computed value and resolved value both reflect the authored value
column-rule-width Computed value forced to 0px when column-rule-style: none Computed value and resolved value both reflect the authored value
Source: chromestatus — CSS update: decoupling of Width and Style properties, May 2026.

why it matters

Pages that read getComputedStyle().borderWidth or outlineWidth — for example, to compute layout or animate from a base state — now get the authored value reliably across Chrome, Firefox, and Safari. Code that worked on Firefox and was wrong on Chrome no longer needs a workaround.

/* Chrome 147+ — these read back 4px even though there's no visible border */
.box {
  border-style: none;
  border-width: 4px;
}

const w = getComputedStyle(box).borderWidth;
// Chrome 147+: "4px"  (previously: "0px")
// Firefox: "4px"
// Safari: "4px"
Source: chromestatus and CSS Backgrounds Level 3, May 2026.

quick reference

Affected propertiesborder-width · outline-width · column-rule-width
InteropNow matches Firefox and Safari behaviour
Shipped inChrome 147 (desktop + Android)
ChromeStatus5133099851317248 — CSS update: decoupling of Width and Style properties
SpecCSS Backgrounds and Borders Level 3
Source: chromestatus, May 2026.