What bug does zoom:1; fix in CSS?

Web_Designer picture Web_Designer · Jun 9, 2011 · Viewed 32.4k times · Source

I have seen people apply the CSS property zoom: 1; on HTML elements.

Why do they do this, and what bug does it fix?

Answer

thirtydot picture thirtydot · Jun 9, 2011

This provides an internal property known as hasLayout in Internet Explorer versions 7 and lower.

The definitive article on the subject is here: http://www.satzansatz.de/cssd/onhavinglayout.html

A lot of Internet Explorer's rendering inconsistencies can be fixed by giving an element “layout.” In this article, the authors focus on some aspects of this complicated matter.

“Layout” is an IE/Win proprietary concept that determines how elements draw and bound their content, interact with and relate to other elements, and react on and transmit application/user events.


For an example of a specific bug that zoom: 1 (and so hasLayout) helps to fix:

Inline block doesn't work in internet explorer 7, 6