在过去的几天里,我一直在抨击一个真正奇怪的布局错误。它只出现在Windows上的Edge上;如果我告诉网络浏览器在IE10模式下运行,一切都很好。我试过的每个其他网络浏览器都表现得非常正常。这只是边缘。 (下面的屏幕截图是在Microsoft Win7 VM映像上拍摄的,明确用于在IE11上进行测试,但是真人已经验证了这一点。)
不幸的是,我的程序是这个庞大,复杂的聚合物,充满了Javascript,所以产生一个最小的例子真的很难。这是我的下一步,但现在我希望有人会认识到发生了什么。
我所拥有的是一列文本,在一个提供样式的Polymer容器内,在一个可滚动的内部。 Polymer容器具有白色背景。我所看到的是,Edge上的容器大小始终小于文本。看到这些截图;左侧是Chrome(正确),右侧是Edge(不正确)。很抱歉这些糟糕的图片,但这些应该证明这个问题。
粉红色的盒子是一块填充物,我在底部添加了该块以使问题更加明显。
甚至 weirder 是在Edge上,白色区域的高度 - 也就是可滚动内容器的大小 - 看起来与视口大小相同。也就是说,好像它是height: 100%
(它不是)。实际上,调查显示它更像max-height: 100%
,但是将显式max-height设置为大于该值的值似乎什么都不做。可处理可滚动区域的方式有什么问题吗?
我完全不知所措。
如果你想自己玩(请做!),请点击此链接(https://cowlark.com/gruntle/?id=0ByWQADzU1i2wSUpsbzFOLUlYRUk;我会保持几天。可滚动元素位于{{1}白框是里面的 更新:链接不再有效。BODY > ts-application > iron-pages > #game
元素。你需要使视口足够小,以便内容开始滚动以显示奇怪的行为。
如果没有人有任何想法,我会开始痛苦地从我的应用程序中删除所有动态内容,以便生成一个较小的示例,但是......有没有人有任何想法?
更新
所以它似乎只在Win7上的Edge模式下IE11上显示。它确实不在Win10上的Edge上显示。
因此,我有理由相信,这是Win7 Edge上的一个简单的布局错误,我并不关心它是否正常工作。鉴于它在非Edge模式下适用于IE11,我可能会考虑强制页面在IE10模式下工作,但我怀疑它不值得。
答案 0 :(得分:1)
IE11中的边缘模式不使用Edge渲染引擎,而是使用mshtml渲染引擎。边缘模式只是Internet Explorer中最新的渲染模式,与Windows 10上的MS Edge中使用的边缘渲染引擎不同。
如果您无法解决问题的根本原因,我建议使用IE10模式让您正确渲染。其他浏览器如MS Edge无论如何都会忽略文档模式。
也许这个网站有助于解决问题:https://msdn.microsoft.com/en-us/library/dn904497%28v=vs.85%29.aspx#document_modes和 https://msdn.microsoft.com/en-us/library/jj676915%28v=vs.85%29.aspx