6

看起来好像一些相当新的 Safari 版本不支持<main>HTML5 元素。(到目前为止,我已经在 Snow Leopard 上测试了 Safari 5.1.9,以及在 IOS 4 上运行的移动 Safari)。有没有办法让 Safari 识别<main>元素(如 shiv)?

我在下面汇总了一些示例代码。在受影响的 Safari 版本中查看时,<main>不会出现绿色框,如果我要添加更多文本,它会在<main>元素之外流动,就好像它甚至不存在一样。

HTML:

<body>
    <main>
        <nav id="bar"></nav>
        <p>Lorem Ipsum</p>
    </main>
</body>

CSS:

main{
width:800px;
height:800px;
background-color:#0C0;
}

#bar{
width:300px;
height:400px;
float:left;
background-color:#09F;
}
4

1 回答 1

9

大多数浏览器display:inline默认显示未知元素,所以在某个地方弹出这个 CSS 应该可以做到:

main {
    display: block;
}

例如

main {
    display: block;
    width: 800px;
    height: 800px;
    background-color: #0C0;
}

(我在 Mountain Lion 的 Safari 6.0.5 中进行了测试。)

Sitepoint 对<main>元素有很好的描述:http ://www.sitepoint.com/html5-main-element/

还有一个很棒的 Stack Overflow 答案,它以一般方式描述了如何让新的 HTML5 元素在旧浏览器中工作(对于“工作”的一些定义):https ://stackoverflow.com/a/13949253/20578

于 2013-07-15T18:53:18.233 回答