我在做一个网站:http://dev.stooza.co.za
我尝试支持几种浏览器,包括IE8。在我开发它的同时,我使用IE11开发工具进行了测试,并将用户代理和文档模式转换为IE8。这看起来差不多不错,但现在,只有互联网探索者提供IE8的人告诉我,这个网站搞砸了。不幸的是他是对的。我的问题是:为什么在IE11开发工具中使用IE8作为浏览器代理和浏览器模式来正确地呈现站点,为什么在真正的IE8浏览器中设计完全混乱?CSS有什么问题吗?我没有发现JavaScript代码有什么问题。
发布于 2014-12-04 22:48:27
你的网站在IE8中看起来更糟糕的主要原因之一是它在古怪模式下加载。这很可能是因为在doctype声明上有一个错误的<script>标记:
<script type="text/javascript">
var selectedVarsity = 0;
var searchText = "";
var varName = "";
var selectedCampus = "";
</script>
<!DOCTYPE html>您需要将它移到<head>中,这样它才能有效。在doctype声明之前不能使用空格或其他字符。
另一个观察是Flexbox的使用,这在Internet中直到第10版才被支持。因此,当您直接依赖这样的现代实践时,Internet 8将无法理解如何正确地布局您的元素。
重要的是要注意,现代版本的Internet中的文档模式切换并不是用来模拟早期版本的Internet。我最近在博客上写到,将文档模式与A99 Aquata呼吸器进行比较(如果您喜欢星球大战的话)。
如果您希望支持Internet 8,则应该在Internet 8中进行开发,而不是将其视为事后考虑。您可以从http://modern.ie下载免费的IE8虚拟机,也可以在http://browserstack.com上访问浏览器中的流式虚拟机。
要简要了解IE8和IE11之间存在哪些类型的CSS支持差异,请参阅并排比较提供的caniuse.com。
https://stackoverflow.com/questions/27305403
复制相似问题