【问题标题】:Convert a CSS drop down menu in a drop up menu在下拉菜单中转换 CSS 下拉菜单
【发布时间】:2014-02-23 01:23:18
【问题描述】:

我想将我的下拉菜单转换为下拉菜单。我在互联网上搜索过信息,但没有任何帮助。

我的 CSS 代码:

#nav
{
margin: 0px;
padding: 0px;
position: absolute;
top: 18px;
display: block;
left: 313px;
}

#nav > li
{
list-style-type:none;
float:left;
display:block;
margin:0px 10px;
position:relative;
padding:10px;
width:100px;
}

#nav > li:hover ul
{
display:block;
}

#nav > li:hover
{
-moz-border-radius:10px;
-webkit-border-radius:10px;
}

#nav li ul
{
margin:0px;
padding:0px;
display:none;
}

#nav li ul li
{
list-style-type:none;
margin:10px 0 0 0;
}

#nav li ul li a
{
display:block;
padding:5px 10px;
color:#bdb49f;
text-decoration:none;
}

#nav li ul li:hover a
{
color:#b15815;
-moz-border-radius:5px;
-webkit-border-radius:5px;
}

#nav li span
{
cursor:pointer;
margin:0px 10px;
font-weight:bold;
}

【问题讨论】:

标签: css menu


【解决方案1】:

解决办法在于让child ul绝对定位。

这是一个工作示例:http://jsfiddle.net/3NmRP/

“#nav”上的“margin-top”只是为了举例,你可以去掉它。

#nav{
    margin: 0px; padding: 0px; position: absolute; top: 18px; display: block; left: 313px;
}

#nav > li {
    list-style-type:none;
    float:left; display:block;
    margin:0px 10px;
    position:relative;
    padding:10px;
    width:100px;
}
#nav > li ul {
    position:absolute;
    bottom: 100%;
}
#nav li:hover > ul {
    display:block;
}
#nav > li:hover{
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
}
#nav li ul{
    margin:0px;
    padding:0px;
    display:none;
}
#nav li ul li{
    list-style-type:none;
    margin:10px 0 0 0;
}
#nav li ul li a{
    display:block;
    padding:5px 10px;
    color:#bdb49f;
    text-decoration:none;
 }
#nav li ul li:hover a {
    color:#b15815;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
}
#nav li span{
    cursor:pointer;
    margin:0px 10px;
    font-weight:bold;
}

#nav {
    margin-top: 100px;
}

【讨论】: