元素在Internet Explorer 11中不工作

问题描述:

我试图用CSS设置<main>元素的宽度。正在使用<main>元素在Internet Explorer 11中不工作

main { 
    width:200px; 
} 

在除Internet Explorer(边缘不起作用)之外的所有浏览器中均正常工作。

看看这个例子:JSfiddle

结果在IE11:

enter image description here

结果在铬:

enter image description here

的HTML5 main元件不是由Internet Explorer支持(see browser support data)。

您需要将main定义为width才能正常工作的块级元素。

使此调整:

main { 
    display: block; /* new */ 
    width: 200px; 
} 

由于main元件并不由Internet Explorer –公认的含义它不是在IE的默认的样式表–它使用CSS初始值(per the spec)所定义。

display财产的初始值是inline

width属性被内联元素忽略。从规格:

10.3.1 Inline, non-replaced elements

width属性不适用。

通过将main元素定义为作者样式中的块级元素,width属性将起作用。

更多细节:

+2

谢谢,这个作品!奇怪的是,IE11不支持这个简单的HTML5标签。 –

+1

upvoted,很好的答案,很好的解释。 – Billy

+0

@JensRenders IE需要多年的时间才能支持所有其他浏览器支持的新元素,CSS属性和API,不,这并不令人意外,并且在Edge中也不会有太大的不同。 – Rob