最大宽度属性导致菜单背景不在IE7下显示

时间:2011-12-07 11:12:20

标签: css internet-explorer-7

我正在使用bootstrap css框架并构建了一个水平菜单。它在除IE7之外的所有浏览器中都很好用。我已经将其缩小到使用max-width属性,这会阻止在IE7下显示背景。以下示例(在IE7中查看)。

http://jsfiddle.net/dZRcS/

解决这个问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

menu-container div的目的是什么?这就是IE7中的颜色。

删除menu-container div,它将起作用(http://jsfiddle.net/dZRcS/4/

如果您需要保留menu-container div,请从中删除背景颜色(http://jsfiddle.net/dZRcS/3/

答案 1 :(得分:1)

IE7在使用max-width时遇到问题。如果这是不可避免的,你必须使用它,有一个解决方法:

IE支持自己的表达式属性,这使我们能够使用JavaScript表达式来操纵(X)HTML文档属性,例如max-width和max-height。

div {
   width: expression(333 + "px");
}

..这相当于:

div {
   width: 333px;
}

IE中的最大宽度

此方法已在IE6中验证,也应在IE5中运行。只需更改值以满足您的需求,并通过条件注释包含在您的文档中。在此示例中,IE和所有符合标准的浏览器的max-width为777px 1:

* html div#division { 
   width: expression( document.body.clientWidth > 776 ? "777px" : "auto" ); /* sets max-width for IE */
}
div#division { 
   max-width: 777px; /* this sets the max-width value for all standards-compliant browsers */
}

来源:http://perishablepress.com/press/2007/01/16/maximum-and-minimum-height-and-width-in-internet-explorer/