The CSS1 specification, released by the W3C in 1996 and revised in 1999, defined an element’s declared width as the content area, with padding and borders added outside it. Internet Explorer 4.0, released in 1997, and Netscape 4.0 instead treated width and height as the distance from border to border. Internet Explorer’s implementation became especially consequential because its quirks mode continued to include content, padding, and borders inside the declared dimensions, producing narrower or shorter elements than standards-compliant browsers.
Internet Explorer 6, released in 2001, added a standards-compliant rendering mode activated by appropriate document-type declarations, but retained the legacy behavior by default for backward compatibility. Web developers were forced to use conditional comments, CSS filters, or Tantek Çelik’s “box model hack,” which exploited unrelated Internet Explorer CSS-parsing bugs to hide replacement rules from affected versions. Internet Explorer 7 fixed some parsing defects and thereby made older workarounds unreliable. The long-term remedy was the CSS3 box-sizing property, which standardized the border-box behavior used by legacy HTML user agents and is supported by modern browser engines.