div在IE7中消失

| 我在IE7中的div有问题,该问题正在消失,我不明白为什么。 我已经尝试添加zoom:1并溢出:有人建议将其隐藏,但无法正常工作。 div位于最后一个元素(向右浮动)的无序列表内(向左浮动)。 这是HTML
<div id=\"top_menu\">
    <ul id=\"dropmenu\">
        <li>menu item1</li>
        <li>menu item2</li>
        ...
     </ul>
    <div class=\"lang\">content</div>
</div><!-- end top menu -->
这是CSS
  #top_menu                     {width:900px;font-size:13px; }
    #top_menu ul#dropmenu           {width:630px; height:28px; margin:0px; padding:0px; list-style:none; float:left; }
    #top_menu ul#dropmenu li        {float:left;display:block;}
    .clearfix                       {display: inline-block;}  /* for IE/Mac */

    #top_menu .lang { width: 120px; color:#fff; margin:4px 10px 0 0; float: right; }
    #top_menu .lang a{ color:#ff8601; }
    #top_menu .lang a:hover{ color:#fff; }
谢谢你的帮助 编辑:我包括html并删除了url,以避免客户抱怨。     
已邀请:
您需要将
.clearfix
加到
div#top_menu
并将
height: 24px;
加到
div.lang
那为我解决了所有菜单问题。 编辑 ...并且可能不会使用绝对定位来解决布局问题。     
我现在使用的是IE9,但将此网站放入“兼容性视图”似乎也显示了此问题。 主菜单[ul]中的最后一个条目似乎一直延伸到元素的右侧。这出现在.lang div之前的标记中,因此我不希望它掩盖它... 您是否尝试过将.lang元素放入\“ position:absolute \”,然后查看它是否出现(显然假设其父元素相对放置)。之后,也许尝试使用20px左右的绝对值,然后查看它是否出现。 祝好运! 更新 挂在那儿。您的.lang div位于[ul]元素内,因此实际上定位不正确,因为允许作为[ul]子元素的唯一元素是[li]。 为什么不尝试将此div从列表中移出,而将其作为#top_menu元素的子元素放在外面呢? 那可能行得通!     
不知道这是否与您的情况有关,但是某些版本的IE会丢弃空的div。如果div不包含任何内容,请添加&nbsp;将迫使它存在。     

要回复问题请先登录注册