【发布时间】:2017-04-11 22:47:15
【问题描述】:
另一个 Internet Explorer 非确定性错误。错误只出现在 Internet Explorer 中(chrome、firefox、safari 都可以正常工作)。
制作(在此处查看屏幕截图:http://imgur.com/a/8Ut7H):
- 如果我在窗口宽于 600 像素的情况下访问 https://shick.me/test,聊天消息会粘在左侧,尽管它们应该居中(就像在任何其他浏览器中一样)
- 如果我将窗口设置为小于 600 像素,则布局正确
- 非确定性:如果我现在将窗口再次变宽,则布局正确!
需要什么解决方法,或者 CSS/HTML 有什么问题?
提示:这可能与
的技巧有关margin-right: 3000px;
padding-right: -3000px;
这有帮助吗?
当我使用开发人员控制台(ie 中的 F12)处理页面时,我发现几乎所有操作都会立即修复布局。例如,重绘页面并修复它:
document.body.style.display = 'none';
document.body.style.display = 'block';
但是,当我将它放入 javascript(在 onload/domcontentloaded 等中)时,它不起作用 - 在 js 执行后发生中断。当我将setTimeout 包裹在它周围时,它可以工作 - 但我会说这是一个非常丑陋的黑客攻击。
【问题讨论】:
-
现在这是浏览器软件的错误还是您的样式规则的错误?您的主张是什么?
-
因为所有其他浏览器都可以工作,并且 ie 在特定路径之后工作,我肯定会声称这是一个 ie 错误 - 除非你另有说明。
-
那么为什么最后一个问题是“CSS/HTML 有什么问题?”?答案显然应该是“什么都没有”……
-
感谢@arkascha 我更正了它;-)
-
@arkascha 我不知道你对浏览器技术了解多少。许多浏览器都有一些内置的容忍度。因此,浏览器“正确”地显示布局并不一定意味着 CSS/HTML 是“正确的”。因此,很可能是我的代码不正确,只有ie是对的。
标签: html css internet-explorer media-queries