如何使用CSS将子菜单右对齐

时间:2014-02-18 15:29:10

标签: html css

我一直在努力解决这个问题,我的网站有一个菜单,但是我遇到了麻烦。我可以让菜单的主要部分对齐,但是让Sub菜单做同样的问题。

这给了我这个效果:

Screenshot of menu

HTML是:

<div id="nav">
<ul>
  <li><a >Home</a></li>
  <li><a >Stuff</a></li>
  <li><a >More Stuff</a></li>
  <li><a >Suff with Sub stuff</a>
  <ul>
    <li><a >Sub thing 1</a></li>
    <li><a >Sub thing 2</a></li>
  </ul>
  </li>
</ul>

并且CSS是:(我意识到它可能有点乱,因为我试图让它正确对齐)

    #nav{
    height:30px;
    width:100%;
    position:relative;
    top:-60px;
    background:#5D2C2C;

}

#nav a{
    font:"Lucida Sans Unicode", "Lucida Grande",  sans-serif;
    color:#CCC;
    text-decoration:none;
}

#nav ul{
    height:20px;
    top: 5px;
    margin:0px;
    list-style:none;
    position: relative;
    text-align:right;
}

#nav ul li{
    margin:5px;
    display: inline;
    position:relative;
    height:20px;
    height:20px;
    padding-left:10px;
    overflow:hidden;

}

#nav ul li ul li{ 
    list-style: none;       
    position:relative;
    float:left;
    width: 200px;
    height:20px;
    margin:0;
    background:#5D2C2C;

}

#nav ul li ul{ 
    height:20px;
    padding: 0 0px 0 0px;
    position:relative;
    margin: 0 0 0 0;
    width: 200px;   
}

#nav ul li:hover{ 
background:#900;
overflow:visible;
}

#nav ul li ul li:hover{ 
background:#000;
overflow:visible;
}

任何帮助将不胜感激

4 个答案:

答案 0 :(得分:1)

没有看到小提琴,我可能会做出以下改变:

#nav ul li ul {
    position:absolute;
    top:100%;
    left: 0;
    width:200px;
}

答案 1 :(得分:1)

...或者您可以尝试对子元素使用绝对定位,如:

#nav ul li ul{
     position:absolute;
     right:0px;
     top:25px;
 }

答案 2 :(得分:0)

尝试在#nav ul li ul

中使用float:right

答案 3 :(得分:0)

这对我有用

.dropdown-submenu {
    position: relative;
    z-index: 1100;
    padding: 0 1em;
}

.dropdown-submenu > .dropdown-menu {
    position:absolute;
    top:0;
    left: 100%;
    width:200px;
}