带有最小宽度子Div的IE9 HTML元素调整大小错误

带有最小宽度子Div的IE9 HTML元素调整大小错误,html,xhtml,internet-explorer-9,css,Html,Xhtml,Internet Explorer 9,Css,考虑以下简单的示例代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" style=" height:100%; width:100%; background:yellow; " > <head> <

考虑以下简单的示例代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" style=" height:100%; width:100%; background:yellow; " >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IE9 Min-Width Problem</title>
</head>
<body style=" width:100%; height:100%; margin:0; background:green;">
<div style=" position:relative; min-width:300px; max-width:100%; margin:auto; background:red; ">
<div style=" position:relative; min-width:0; max-width:600px; margin:auto; padding:10px; ">
<div style=" position:relative; width:100%; height:600px; background:blue; ">
Page contents go here.
</div><!-- closes content -->
</div><!-- closes inner-wrapper -->
</div><!-- closes outer-wrapper -->
</body>
</html>

IE9最小宽度问题
页面内容在这里。
我的网站使用类似于此的代码来实现具有最小和最大宽度的流畅页面布局,它在每个浏览器中都运行良好,除了Internet Explorer。由于某些原因,当您第一次加载页面并将其缩小(或放大)时,HTML元素不会重新调整大小,因此您会立即看到一个水平滚动条,并且HTML背景在右侧可见。然而,如果你刷新页面,问题就会完全消失,IE就像其他浏览器一样。只有在首次加载页面时才会出现此问题,因此如果刷新页面,则必须离开并返回站点

请注意,这似乎仅在网页位于服务器上时发生。如果您在本地查看html文件,那么这个错误不会出现。在这种情况下,我冒昧地将这段代码上传到我的测试服务器上,让任何有礼貌的人帮我弄清楚到底发生了什么

浏览网页

如果任何人任何有帮助的信息,我将不胜感激。这包括(1)修复(2)解决方法或(3)实现目标的更好方法。如果你有任何问题,请告诉我,因为我会经常查看这篇文章(我在这篇文章上下了很大的功夫,所以我急于修复它)


其他详细信息:我正在Windows 7 32位上运行Internet Explorer 9.0.8。由于XHTML 1.0严格的Doctype,浏览器处于Internet Explorer 9标准模式。

除非我打开兼容模式(地址栏中的断页图标),否则在IE9/W7x64中我看不到这种情况。也许你碰巧打开了

您在页面的第二行似乎有一个主要的打字错误:

<html xmlns="http://www.w3.org/1999/xhtml" style=" height:100%; width:100%; background:yellow; " >

style
在那里做什么


这是一个好主意,检查你的网页,因为它发现的东西,像。(还有其他验证器。)

我已经解决了添加此元的问题,与您的有点不同

<meta http-equiv="X-UA-Compatible" content="IE=9" /> 

此外,您可能希望查看这篇文章,尽管您需要以某种方式更改meta标记以使其与XHTML兼容


希望能有所帮助

除非我打开兼容模式(地址栏中的断页图标),否则在IE9/W7x64中我看不到这种情况发生。也许你碰巧打开了?你说得对安德鲁,这是一条有用的信息,谢谢。出于某种原因,IE似乎在该页面上强制使用兼容模式。当我关闭它时,它似乎可以正常工作,但是当我删除站点的compat模式的首选项并返回到它时,它仍然会进入这种模式。有人知道我如何解决这个问题吗?为什么它这样做是兼容模式?如何指定它永远不会进入兼容模式?对不起,我对IE没有什么经验。你知道,因为它是魔鬼。:)@Scospace:你好,我有完全相同的问题,不仅是最小宽度,还有显示:表格。正如你在tour post上所说的,当我在本地尝试页面时,它工作得很好,当从服务器上尝试时,这些样式的atrib都不适用。你找到解决问题的方法了吗??ThanxI知道,它并没有验证,但我只是快速地把这个例子放在一起,想要内联样式。我习惯于将css文件分开,但事实上,它是有效的,即使它不能验证。可以说,我的实际网站没有犯这个错误。无论如何,你的评论(作为答案)告诉了我我需要知道的事情,对此我感激不尽。我相信对IE兼容模式的一些研究已经给了我解决方案(compat模式的meta标签)。我说得太快了!我已经添加到标记中,虽然它不再处于compat模式,但它仍然呈现不正确。你还得到了什么?好吧,如果它不是有效的HTML,你不应该期望它工作;)我只想停留在一个
部分。@Scopace-你不应该依赖破碎的标记。照Andrew说的做。我不是在依赖坏标记,这是一个与我的语法正确的网站行为完全相同的例子。仅仅因为一段标记没有验证,并不意味着它没有功能。我向你们保证,样式标签很好用,就像它在语法上是正确的一样,使得这些评论声明了明显的、完全没有效果的东西。