【发布时间】:2016-06-11 20:18:34
【问题描述】:
HTML:
<main>
<p>
this is a paragraph in main...
</p>
</main>
<section>
this is a section...
</section>
CSS:
p{ margin:100px; background:#99ff99; }
main{ overflow:hidden; background:#ff9999; }
section{ margin:100px; background:#9999ff; }
小提琴:https://jsfiddle.net/fhbyw80m/
还有为什么当我们这样使用时,边距在 IE 中不起作用?
HTML:
<main>
<p>
this is a paragraph...
</p>
</main>
<aside>
this is aside...
</aside>
CSS:
main{background:#ff9999; margin-bottom:150px; }
p{background:#99ff99; margin-bottom:30px; }
aside{background:#9999ff;}
【问题讨论】:
-
这似乎是一个错误,他们为 Edge 修复了它。
-
@Oriol 如果这是一个错误,那么他们为什么不先修复 IE ???
-
@Oriol,我不相信这是一个错误。只是
main没有在IE的默认样式表中定义,所以元素使用CSS初始值(per the spec)。因此,display: inline被应用,margin和overflow无法按预期工作。 -
@Michael_B 是的,我在看到您的回答后考虑删除评论。但我认为当 IE 11 发布时,
main已经标准化(或者很明显它会标准化)。然后,不将其显示为默认样式表中的块可能会被视为错误:P