CSS-Internet Explorer和<;main>;标签背景

CSS-Internet Explorer和<;main>;标签背景,css,html,internet-explorer,Css,Html,Internet Explorer,我有一个非常简单的布局,在Firefox和Chrome中都可以很好地渲染,但是Internet Explorer(版本11)似乎无法为元素渲染任何类型的背景色 我将元素作为元素的子元素,而背景色和背景色似乎都没有任何区别将始终具有与相同的背景。我没有发现任何东西表明这是否是IE中的一个bug 请使用Internet Explorer查看我的意思 显然,我可以用替换并更新我的CSS选择器,但我想了解为什么会发生这种情况。IE11本身不支持元素。您可以使用脚本(如)或一行无害的JS来引入对它的支持:

我有一个非常简单的布局,在Firefox和Chrome中都可以很好地渲染,但是Internet Explorer(版本11)似乎无法为
元素渲染任何类型的背景色

我将
元素作为
元素的子元素,而
背景色和
背景色似乎都没有任何区别<代码>
将始终具有与
相同的背景。我没有发现任何东西表明这是否是IE中的一个bug

请使用Internet Explorer查看我的意思


显然,我可以用
替换
并更新我的CSS选择器,但我想了解为什么会发生这种情况。

IE11本身不支持
元素。您可以使用脚本(如)或一行无害的JS来引入对它的支持:

document.createElement('main');
该元素不会插入DOM中,但现在IE会将其识别为正确的元素。在此之后,它仍然没有正确的样式。将以下内容添加到CSS中:

main {
    display:block;
}

一切都会好起来的。您当前将其视为未获取任何内容的原因是,IE在没有这两个步骤的情况下不会将其添加到长方体模型中,因此它不会获取任何“布局”或“大小”。它是看不见的,这就是为什么你看到了身体。它确实包含元素,这些元素是根据元素的左上角坐标正确呈现的。

很简单:
标签在IE11中不受支持。

我从没想过最新版本的IE不支持
。现在我知道了,我发现了。添加
显示:块似乎工作得很好。这很符合逻辑。HTML5不允许任意使用未知元素,因此IE完全不支持任何未知元素。IE11与Chrome 26和FF21的年龄差不多,后者是第一个支持HTML5的新成员。由于元素未知,因此在用户代理样式表中没有默认样式也是有意义的。内容显示在
元素中,但它看起来像是默认情况下将其呈现为内联元素,可能是因为IE无法识别它。这似乎只是IE相对较长的更新周期的一个副作用。离开
并添加
显示:块到CSS让我两全其美:HTML5元素的使用和与旧浏览器的兼容性。天哪,IE什么时候会被弃用?