当插入PHP代码时,整个页面会转到左侧?

当插入PHP代码时,整个页面会转到左侧?,php,html,css,internet-explorer,Php,Html,Css,Internet Explorer,后端PHP代码会影响页面布局的原因是什么?这只发生在IE中。在Firefox和Chrome中,一切看起来都很好 问题是,我们有这个HTML代码,然后通过插入该页面上函数的后端代码。我们包含的php文件中没有任何样式,但它神秘地使整个页面转到左边缘(而不是居中)。如果我们从页面中删除该文件,它将正常呈现 我们已经了解到,如果我们注释掉该文件(下面的视图)上的某部分代码,布局就会得到修复: //function position_list() { global $db, $core, $gl

后端PHP代码会影响页面布局的原因是什么?这只发生在IE中。在Firefox和Chrome中,一切看起来都很好

问题是,我们有这个HTML代码,然后通过
插入该页面上函数的后端代码。我们包含的php文件中没有任何样式,但它神秘地使整个页面转到左边缘(而不是居中)。如果我们从页面中删除该文件,它将正常呈现

我们已经了解到,如果我们注释掉该文件(下面的视图)上的某部分代码,布局就会得到修复:

//function position_list() {
    global $db, $core, $global;
    ob_start('ob_gzhandler');
    include ROOT.'templates/listing.php';
    ob_flush();
//}

我只是想知道是否有人遇到过类似的问题?可能有什么问题?

包含的代码可能有问题,不是样式问题,而是标签损坏问题。一些嵌套正在进行,标签被其他东西关闭,而不是被打开它的东西或被打开的东西关闭。您应该尝试通过严格的html验证器运行输出代码,以查找错误。

比较IE中包含和不包含include行的源代码。这是你所期望的吗?是否存在任何PHP警告

看到您注释掉
函数{}
部分而不注释掉函数体,这很奇怪。您现在实际上正在调用
position_list()随便什么。导致渲染更改的是哪条线


如果这一切都在doctyle和
标记之前,那么可能是输出触发浏览器以怪癖模式呈现,而不是标准合规模式。

听起来像是将IE置于怪癖模式。如果使用边距:自动;在一个元素上,IE倾向于在怪癖模式下忽略它

确保doctype是输出文件的第一件事(没有换行符、空格、注释等)。另外,确保您的页面根据给定的doctype进行验证


如果上述方法不起作用,请发布更多的代码。

包含的是什么?能否显示listing.php的内容?你在哪里/如何调用position_list()@stillstanding:其中包括一个特定页面的不同功能列表(它有点像预订活动的日历)。这些“不同功能”是做什么的?你确定他们没有输出任何可能会改变页面的内容吗?是的,我很确定“空间小”可能是造成问题的原因。Internet Explorer希望doctype是文档中的第一个内容。当前面唯一的东西是开始XHTML文档的XML标记时,它甚至会窒息。当doctype之前有任何内容时,IE根本没有意识到doctype在那里,它会切换到怪癖模式。如果您想确定,请将输出保存为计算机上的普通文件,删除空间,然后加载该文件。嗯,实际上我刚刚尝试在“怪癖”模式下渲染它。我的意思是,使用一个正确的布局,但在IE怪癖模式和渲染是完全相同的一个包含php代码。所以代码中似乎有什么东西迫使IE以怪癖模式显示它。现在解决了。它确实是doctype前面的一个“空格”。我们删除了它,现在IE以标准模式渲染它。无论如何,谢谢大家的帮助。