Я не могу воспроизвести вашу проблему, но я использую IE8 в совместимости, поэтому я не могу протестировать на оригинальном IE7.
Но я считаю, что знаю, что вы делаете, если у вас все еще есть проблемы.Попробуйте заменить эту строку
.menu.top ul ul li { clear: both;}
следующим:
.menu.top ul ul li { float:none}
Возможный сценарий: элементы списка в подменю принимают этот CSS
.menu.top ul li {margin:0; padding:0; position: relative; float: left;}
, которыйможет конфликтовать со свойством clear
в IE7 и по какой-то причине иметь приоритет над ним.
Так что css хотел бы следующее:
menu.top {height:30px; overflow:hidden; color:#f9f9f9; text-transform:uppercase; font-size:.85em;margin:101px 0 20px 0; padding-left:30px; border-radius: 15px; -moz-border-radius:15px;background:blue;}
/*category flyout menus */
.menu.top.cat {overflow:visible; }
.menu.top ul {margin:0; padding:0;white-space:nowrap;background:blue; position: relative; list-style: none; z-index: 50;}
.menu.top ul li {display:block;width:100%;float:left;background:#777;} /* added float to this rule again, and removed the clear property */
.menu.top ul ul { position: absolute; visibility: hidden; list-style: none; z-index: 9999; }
.menu.top ul ul li {display:block;width:100%}
.menu.top ul ul ul {left:150px;}
.menu.top ul ul li { float:none} /* modified this rule*/
.menu.top ul a {white-space:nowrap;color:#fff;line-height:30px; padding:0 10px; display: block; }
.menu.top ul ul ul { position: absolute; top: 0; }
.menu.top ul li:hover ul, .menu.top ul a:hover ul, .menu.top ul :hover ul :hover ul, .menu.top ul :hover ul :hover ul :hover ul { visibility: visible;}
.menu.top ul :hover ul ul, .menu.top ul :hover ul :hover ul ul { visibility: hidden; }
.menu.top ul a:hover {background:url(spot2.gif);background:url(bar-bg.png) repeat-x, url(spot2.gif) repeat;color:#333; text-decoration:none;}
.menu.top ul.children li.current-cat a {color:#333;}