这真是令人头疼的事。
我正在开发一个半静态,一半wordpress的网站。有些页面是动态的,因此通过wordpress运行,有些页面完全是静态的,因此不要使用它的逻辑。这使事情变得更有效率(并且是客户要求)。
所以这些页面共享相同的标记,至少在'chrome'方面,即标题等。
IE9中的静态页面看起来很近(但附近),但是wordpress页面完全坏了。
以下是一个例子:
静态页面导航栏:
Wordpress页面导航栏
您所看到的是相同的标记和相同的CSS。它是完全相同的。唯一的区别是wordpress正在生成一个页面,另一个页面是静态的。页面的物理位置也不是问题,因为在同一目录级别存在没有此问题的静态页面。
该网站在所有其他浏览器中运行正常,此问题特定于IE9。
在发现一些模糊的类似问题之后,我尝试了兼容模式。打开兼容模式(即使IE9呈现为IE8)实际上改进了页面的呈现。布局不是很好,因为该网站尚未围绕IE8支持构建,但奇怪的是它看起来明显优于IE9。因此,虽然这在技术上是一个选项,但它不是一个很好的选项,因为我知道该网站在IE9中看起来很好......只是在没有涉及wordpress的时候。
(这些屏幕截图来自本机运行IE9的VM,这不是模拟器问题)
修改
在相关的情况下,两个页面在其渲染标记中的差异如下:
(这基本上是Wordpress通过<?php wp_head(); ?>
调用添加的内容。)
在<!DOCTYPE html>
之前发表几条评论:
<!-- Page variables -->
<!-- Header -->
一些OG数据和一个标题属性(没有值得注意的,标准标记,自闭标签等)。
然后这个地段:
<link rel="alternate" type="application/rss+xml" title="XXX" href="XXX/help-and-advice/feed/" />
<style type="text/css">
img.wp-smiley,
img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 .07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
</style>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="XXX/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="XXX/wp-includes/wlwmanifest.xml" />
<meta name="generator" content="WordPress 4.3.1" />
(我从该代码中清除了URL等,但留下了重要的位)