1

我有#header具有以下 CSS 属性的 div:

#header{
    background-image:url('img/header-bkg-tile.png');
    background-repeat:repeat-x;
}

#header-container在其中具有以下属性:

#header-container{
    height:63px;
    width: 1120px;
    position: relative;
    left : 50%;
    margin-left: -560px;
    padding-top:19px;
}

结构是这样的,以防万一:

<div id="header">
    <div id="header">
    </div>
</div>

在里面#header你有一个图像和一个<ul>,一切都按预期工作。

我的问题是在创建这个时simple dropdow

问题本身是我无法到达的下部.sub_menu,在您进入倒数第二个元素后,下拉菜单会回到“静止位置”。

你可以在这里看到一个活生生的例子

我已经隔离了这个问题,它与我用来垂直居中图像的填充有关:padding-top:19px;

下拉菜单的相关代码如下:

/* 
    LEVEL ONE
*/
ul.dropdown                         { position: relative; }
ul.dropdown li                      { float: left; zoom: 1; }
ul.dropdown a:hover                 { color: #000; }
ul.dropdown a:active                { color: #ffa500; }
ul.dropdown li a                    { display: block; padding: 4px 8px;}
ul.dropdown li:last-child a         { border-right: none; } /* Doesn't work in IE */
ul.dropdown li.hover,
ul.dropdown li:hover                { position: relative; }
ul.dropdown li.hover a              { color: black; }

/* 
    LEVEL TWO
*/
ul.dropdown ul                      { width: 220px; visibility: hidden; position: absolute; top: 100%; left: 0;}
ul.dropdown ul li                   { font-weight: normal; background: #C8E4ED; color: #000; 
                                      border-bottom: 1px solid #ccc; float: none; }

                                    /* IE 6 & 7 Needs Inline Block */
ul.dropdown ul li a                 { border-right: none; width: 100%; display: inline-block; } 

我尝试了各种各样的事情,但老实说,我或多或少是在猜测,我想了解问题所在。

我会虽然向LEVEL TWO元素添加负填充可以解决问题,但它并没有因此任何指针都可以提供帮助。

编辑:标题标记如下:

 <div id="header">
     <div id="header-container">
         <div id="header-all">
             <a href="#"><img id="logo" src="<?php bloginfo('template_url'); ?>/img/logo.png" alt="logo uruware"/></a>
             <ul id="header-elements" class="dropdown">
                 <li><a href="#" class="active-selection">Inicio</a>
                  <ul class="sub_menu">
                        <li><a href="#1">UCFE</a></li>
                        <li><a href="#2">Trx Server</a></li>
                        <li><a href="#3">Trx Framework</a></li>
                    </ul>
                 </li>
                 <li><a href="#">Quiénes somos</a></li>
                 <li><a href="#">Productos</a>

                 </li>
                 <li><a href="#">Servicios</a></li>
                 <li><a href="#">Novedades</a></li>
                 <li><a href="#">Contacto</a></li>
             </ul>
        </div>
     </div>
 </div>
4

1 回答 1

1

这是个z-index问题。

规则是HTML 代码后面的所有内容都. 结果,在 ul 下拉列表之后出现的 div位于ul#container下拉列表之上

要解决此问题,请将其添加到您的下拉列表中:

ul.dropdown ul {
  z-index: 2000;
}

或者只是z-index: 1;,只要你设置你的 z-index.

于 2013-01-30T17:52:00.500 回答