IE11 / 10 HTML5主标记和溢出:隐藏的bug

时间:2016-03-21 20:43:39

标签: html css internet-explorer-11 internet-explorer-10

最基本的问题,但我花了几个小时搜索,却无法找到答案。

<main style="height:0px;overflow:hidden;">
    <section>
       This should not be displayed
    </section>
</main>

此代码按预期在Safari,Chrome和Firefox中返回空白。但是IE10 / 11显示&#34;这不应该显示。&#34;

https://jsfiddle.net/6a204ad9/8/

显然溢出不起作用。

我已尝试将高度和宽度设置为主要部分和部分。我尝试了位置:亲戚(IE6 bug)。

它是如此基本的东西......我知道这是愚蠢的,可能已经回答了10000次,但是我的智慧结束了。 &#34; duh&#34;答案是......?

谢谢!

2 个答案:

答案 0 :(得分:5)

答案是因为IE10 / 11中不支持<main> HTML5标记。

如果您将HTML更改为:

<div style="height:0px;overflow:hidden;">
    <div>
       This should not be displayed
    </div>
</div>

您不应再看到显示的内容。

或者您可以将display: block添加到<main>代码中。

见链接:

https://developer.mozilla.org/en/docs/Web/HTML/Element/main

答案 1 :(得分:1)

对于任意命名的元素,您需要使用display样式属性来告诉Internet Explorer您希望元素的行为方式。

例如,如果您希望<main>元素的行为类似于<div>,请为其指定样式属性display:block;

<main style="height:0px;overflow:hidden;display:block;">
    <section>
       This should not be displayed
    </section>
</main>