将孩子设置在父母之上

时间:2013-06-15 14:04:29

标签: css

嗨我的css中有一个问题,我无法弄清楚如何解决我不确定是否有办法解决它但是这里有。

假设我们有这个HTML:

<ul id="menu">
   <li>
       <a href="#">Auto-moto, piese, accesorii<i class="icon-caret-right"></i></a>
       <ul class="product-submenu">
                <li><a href="#"><i>Auto-moto, piese, accesorii</i> <span>Short description</span></a></li>
                 <li><a href="#"><i>Item</i><span>Short description</span></a></li>
                 <li><a href="#"><i>Auto-moto, piese, accesorii</i><span>Short description</span></a></li>
                 <li><a href="#"><i>Item</i><span>Short description</span></a></li>
                 <li><a href="#"><i>Item</i><span>Short description</span></a></li>
         </ul>
   </li>
</ul>

这个css:

ul#menu{
    -webkit-box-shadow: 5px 5px 5px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow:    5px 5px 5px 0px rgba(0, 0, 0, 0.25);
    box-shadow:         5px 5px 5px 0px rgba(0, 0, 0, 0.25);
    position:relative;
}
ul.product-submenu{
     position:absolute;
}

例如,如果我希望能够将ul#菜单设置在ul.product-submenu之上,我将如何实现这一点,因为ul.product-submenu是ul#menu的子句?

这可以很容易地用z-index解决,标签是兄弟姐妹,但在这种情况下我似乎无法弄明白。

我在这个链接中添加了一个小提琴,我想要的是能够将红色容器设置在绿色容器的顶部:fiddle

1 个答案:

答案 0 :(得分:1)

Lister先生的建议有效,如果你在ul.product-submenu的top属性中添加20px,那么它将显示子菜单。

JSFiddle: http://jsfiddle.net/5rmgR/3/

ul.product-submenu{
     position:absolute;
    background-color:green;
    top:20px;
    left:100px;
    z-index:-1;
}

如果你只是将20px添加到top属性,你甚至可以在没有z-index的情况下离开。

如果您希望菜单位于该术语的其他含义的顶部,那么您可以尝试这样的事情: JSFiddle: http://jsfiddle.net/5rmgR/6/

ul#menu{
    background-color:red;
}
ul.product-submenu{
    position:relative;
    background-color:green;
    top:0;
    left:100px;
    width: 50%;
    z-index: -1;
}