I'm using the bootstrap css framework and have built a horizontal menu. It works great in all browsers except IE7. I've narrowed it down to the use of the max-width property which prevents the background from showing under IE7. Example below (view in IE7).

IE7 has issues working with max-width. If it's inevitable and you have to use it, there is a workaround:

IE supports its own expression attribute, which enables us to use JavaScript expressions to manipulate (X)HTML document properties such as max-width and max-height.

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

..Which is equivalent to this:

div {
width: 333px;
}

max-width in IE

This method has been verified in IE6 and should also work in IE5. Simply change the values to suit your needs and include in your document via conditional comment. In this example, max-width is 777px 1 for IE and all standards-compliant browsers: