【问题标题】:HTML5 semantic markup ignored in IE7IE7 中忽略了 HTML5 语义标记
【发布时间】:2013-01-03 16:17:22
【问题描述】:

我正在尝试在我的页面上使用语义标签 (http://toytic.com/class/html5_docStructure.html)。我希望它们表现得像没有任何样式信息的普通标记标签(例如显示块。

但是,当我在 IE7 调试器中查看 DOM 结构时,我看到标签被立即关闭并且所有样式属性都被忽略了。

我知道他们是像 modinizer 这样的库,但到目前为止,他们只是使用 CSS 技巧,在其中设置以下 CSS 属性,因此浏览器会像普通 div 一样解释语义元素:

header, nav, article, footer, section, aside, figure, figcaption {
            display: block;
        }

我错过了什么?

【问题讨论】:

    标签: html internet-explorer-7 internet-explorer-6 semantic-markup


    【解决方案1】:

    不理解 HTML5 中的新标签的旧版本 IE 需要一个称为“shiv”的 JavaScript 小技巧来启用它们的显示和样式。单独将 CSS 设置为 display: block 是不行的。

    HTML5Shiv 可以单独包含,也可以与更广泛的库一起打包,例如 Modernizr(无论如何你都应该使用它)。

    HTMLShiv:http://code.google.com/p/html5shiv/

    Modernizr:http://modernizr.com/

    【讨论】:

    • 不是“旧浏览器”,只是“旧 IE”。
    • modernizr 可以解决问题,我不需要深入探讨该主题。谢谢,我正在使用来自 //cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js 的在线版本
    【解决方案2】:

    您必须使用 modernizr 插件为旧版浏览器提供 HTML5 的后备。下载缩小版后,只需将其嵌入到您的 head 标签脚本中即可。你也可以使用HTML5 shiv

    我还建议您在创建网站时使用initialzr 启动它。它会为您提供所需的所有依赖项。

    【讨论】:

      【解决方案3】:

      Modernizr 也使用了类似于 HTML5shiv 的东西,它也添加了元素 to the DOM。看看那个 JavaScript 发生了什么。

      【讨论】:

        【解决方案4】:

        同样的事情也发生在我身上。确保在下载 Modernizr 时选中“html5shiv v3.6”。

        【讨论】:

          猜你喜欢
          • 2012-07-15
          • 1970-01-01
          • 2011-05-17
          • 2010-11-15
          • 1970-01-01
          • 1970-01-01
          • 2021-02-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多