元素在Internet Explorer 11中不工作
问题描述:
我试图用CSS设置<main>
元素的宽度。正在使用<main>元素在Internet Explorer 11中不工作
main {
width:200px;
}
在除Internet Explorer(边缘不起作用)之外的所有浏览器中均正常工作。
看看这个例子:JSfiddle
结果在IE11:
结果在铬:
答
的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
属性将起作用。
更多细节:
谢谢,这个作品!奇怪的是,IE11不支持这个简单的HTML5标签。 –
upvoted,很好的答案,很好的解释。 – Billy
@JensRenders IE需要多年的时间才能支持所有其他浏览器支持的新元素,CSS属性和API,不,这并不令人意外,并且在Edge中也不会有太大的不同。 – Rob