2009-10-06 67 views

回答

2

您正在为导航栏使用自动布局表格,并且它有colspans。这会让IE感到困惑,因为在有colspans的时候,这并不是很好的解决多大表需要的表格。它使得桌子比你需要的宽,这使得你的细胞比预期的更宽,这使得丑陋的黄色背景显示出来,并且它不排队。

为了解决这个问题,设置表格元素上的样式table-layout: fixed; width: 970px;,并添加一个<col>元素为每一列,每一个width: ...px风格,告诉IE究竟有多大,使每一列。然后它不会犯任何错误(并且更大的固定表格布局渲染速度更快)。

为了更好地解决问题,请删除布局表格并为导航链接使用定位的div。然后,您也可以丢失无聊的图像切片,并为整个标题背景使用单个GIF,并将照片和链接放置在顶部。你也可以在你的样式表中使用//作为单行注释,但是在CSS中没有这种东西;你只会混淆解析器进入丢弃规则。)

0

嗯,一目了然,你有东西是左边的浮动,你有一个余量留在它呢?

#foo { 
    float: left; 
    margin-left: 20px; //20px in all browsers except IE6 where it will be 40px; 
    display: inline; //this will fix this issue 
} 
+0

不在页面上浮动。 – Candidasa 2009-10-06 03:47:33

0

有很多的可能性,很难根据屏幕截图进行猜测。然而,朝着使IE 6和7的行为更好的一个大的步骤是在文档的顶部声明文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

这对HTML 4.01,你必须更新它来搭配你在做什么特别是使用如果它不是HTML(即XHTML)。仅仅这些有助于解决一些基本问题,但不是全部。如果这样做不行,谷歌“IE6 CSS黑客攻击”,你会发现很多可能适用于你的上下文的潜在信息。

0

编辑:我建议你修复与缺少/不正确的结束标记错误:

错误行199列194:为元素结束标记 “一个”未打开

错误线200,柱49:结束标记为 元件 “p”,这是不开放

来源:http://validator.w3.org/check?uri=http%3A%2F%2Fdevaswami.com%2F&charset=(detect+automatically)&doctype=Inline&group=0

完成之后,我们可以推断出它不是标记相关的问题。

原来的答复:

尝试任何浮动元素上应用hasLayout的每一个元素,并使用display:inline

#nav li { display:inline; } /* the selector *must* be floated and have horizontal margins in the direction of the float. */ 

* { zoom:1; } 

对于任何固定的缩放:1,适用于宽度/高度和会触发hasLayout。

虽然它可能会有用,如果你实际上发布了一些源代码。