首页 >web前端 >css教程 >为什么'margin: 0 auto”在 IE8 标准模式下以不同的方式居中元素?

为什么'margin: 0 auto”在 IE8 标准模式下以不同的方式居中元素?

DDD
DDD原创
2024-12-05 03:35:11435浏览

Why Does `margin: 0 auto` Center Elements Differently in IE8 Standard Mode?

了解 Internet Explorer 8 中的 Margin: 0 Auto 行为

Internet Explorer 8 中的 margin: 0 auto 属性的行为可以是令人困惑,尤其是与其他浏览器中的处理相比。为了解决这些差异,本文研究了特定于浏览器的行为并提供了相关规范的参考。

在使用 margin: 0 auto 的居中按钮的特定情况下,IE8 中的行为与其他浏览器不同。以下代码演示了这一点:

HTML:

<div>

在 Firefox、Opera、Safari、Chrome、IE7 和 IE8 兼容模式下,按钮居中,而在 IE8 标准模式下,事实并非如此。

要解决这种不一致问题,建议向 HTML 文档添加 DOCTYPE,如下所示如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

使用此 DOCTYPE,IE8 标准模式也将使用 margin: 0 auto 正确居中按钮。

关于提出的具体问题:

  1. 显示:块和元素宽度:

    • 根据CSS2.1规范,设置“display: block”并没有定义元素的具体宽度。
    • 但是,大多数浏览器都会解释“ display: block”将宽度设置为 100% 或可用宽度。规范不保证此行为。
  2. 边距:0 auto 和元素对齐:

    • 当“显示”时: block”被设置,“margin: 0 auto”的解释不同浏览器。
    • IE8 标准模式不支持输入按钮等内联元素的“margin: 0 auto”。这与 CSS2.1 规范相矛盾,CSS2.1 规范规定“margin: 0 auto”应将块级元素居中。

以上是为什么'margin: 0 auto”在 IE8 标准模式下以不同的方式居中元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn