Home >Web Front-end >CSS Tutorial >Why Does `display: inline-block` Break in IE6 and IE7, and How Can I Fix It?

Why Does `display: inline-block` Break in IE6 and IE7, and How Can I Fix It?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-19 09:05:10160browse

Why Does `display: inline-block` Break in IE6 and IE7, and How Can I Fix It?

Inline-Block Compatibility Issues in Internet Explorer 6 and 7

Despite its widespread use, the CSS property "display: inline-block" has known compatibility issues in older versions of Internet Explorer. Specifically, it fails to work as expected in IE6 and IE7.

IE6/IE7 Quirks with Inline-Block

In IE6 and IE7, "display: inline-block" only functions properly on elements that are naturally inline, such as spans. Applying it to block-level elements like divs leads to unexpected behavior.

Workaround for IE6/IE7

To resolve these issues in IE6 and IE7, a specific workaround is necessary:

#yourElement {
    display: inline-block;
    *display: inline;
    zoom: 1;
}

The "*display: inline" pseudo-class uses a CSS hack that targets only IE7 and earlier. The "zoom: 1" property forces IE6 and IE7 to recognize the element as having "layout," which is required for "display: inline-block" to function correctly.

Additional Notes

While technically possible, it's not recommended to attempt to keep this workaround valid CSS while also using vendor-prefixed properties. For a comprehensive understanding of "display: inline-block" and its compatibility quirks, refer to the linked resource in the provided answer.

The above is the detailed content of Why Does `display: inline-block` Break in IE6 and IE7, and How Can I Fix It?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn