近期风信网新版终于经过几个月的努力上线啦!在正式发布之后,有些网友反馈在IE8的模式下显示存在一些问题!存在错位等情况,对于这个问题之前也清楚是由于CSS兼容性的问题,一般使用IE8的兼容模式即可解决,但对于千万不同访问人群来说,并不是所有的人都知道使用IE8兼容模式,站在用户体验的角度考虑,只能是认为网站存在问题,所以解决此显示问题也变得迫在眉睫!
Windows Internet Explorer 8 引入了文本兼容性模式,该模式允许 Web 开发人员将浏览器设置为以与旧版本相同的方式呈现它们的页面。可以根据不同的页面或不同的站点指定兼容性模式。
IE浏览器的兼容性一直是网站开发人员头疼的事情,众所周知,微软的Internet Explorer团队一直在致力于将IE8打造为最符合业内标准的浏览器,所不幸的是,当前并非所有的网站都符合这些标准。那如何让网站在IE8的兼容模式下运行呢。在互联网上仔细寻找了一些常用的方法,当然微软的官方也给出了解决的方案,下面将列举出来,希望能给网站开发人员解决这样的问题。
第一种方案:针对服务器进行设置
您也可以在基于 Windows Server 2008 的计算机上配置 IIS 7 以包含自定义 HTTP 响应标头,步骤如下:
依次单击“开始”、“管理工具”,然后单击“Internet Information Services (IIS) 管理器”。
在“连接”窗格中,展开服务器的节点,然后展开“站点”。
单击要添加自定义 HTTP 响应标头的网站。
在网站窗格中,双击“IIS”部分中的“HTTP 响应标头”。
在“操作”下,单击“添加”。
在“名称”框中,键入“X-UA-Compatible”。在“值”框中,键入 IE=EmulateIE7。
单击“确定”。
若要将 IIS 6 及早期版本配置为包含自定义 HTTP 响应标头,请按照下列步骤进行操作:
依次单击“开始”、“运行”,然后键入 inetmgr.exe 并单击“确定”。
展开所需服务器,然后展开“网站”。
右键单击所需网站,然后单击“属性”。
单击“HTTP 标头”选项卡。
在“自定义 HTTP 标头”下,单击“添加”。
在“自定义标头名称”框中,键入“X-UA-Compatible”。
在“自定义标头值”框中,键入“IE=EmulateIE7”。
单击“确定”两次。
如果使用 Web 服务器指定了默认文本兼容性模式,则可通过在特定的网页中指定其他文本兼容性模式来覆盖该设置。在该网页中指定的模式优先于由服务器指定的模式。
以上是微软官方提供的解决方案,笔者经测试的确管用!截图供大家参考!
第二种方案:针对虚拟主机用户
你可以将你网站中所有的页面都加上meta标记,在这里添加兼容性标签后,只对当前页面有用,而且必须是在head标签内部,同时也必须是在其他css样式定义或者链接的前面,否则不会产生效果的。示例代码如下:
<html>
<head>
<title>我的网页</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /><!--在网页代码中直接添加兼容模式-->
</head>
<body>
<p>内容在此处。</p>
</body>
</html>
第三种方案:通过指定自定义 HTTP 响应标头
使用 IIS Web 服务器为站点定义自定义标头即可为您的网站指定文本模式。若要使 Microsoft IIS 能够定义自定义 HTTP 响应标头以便所有页面自动以 EmulateIE7 模式呈现,您可以使用以下 web.config 示例。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=EmulateIE7" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
好了,通过以上的设置,现在你的网站终于是解脱并显示正常啦!当然如果你对CSS比较精通的话,也可以直接在编写CSS代码时采用CSS HACK的方法,这样就不需要进行其它的设置啦!