Как получить Подменю для выравнивания по правому краю с помощью CSS

0

Я боролся с этим некоторое время, у меня есть меню для моего сайта, однако у меня возникают проблемы с его выравниванием. Я могу получить основную часть меню для выравнивания, но у меня возникают проблемы с тем, чтобы заставить Sub-меню делать то же самое.

Это дает мне такой эффект:

Изображение 174551

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;
}

любая помощь будет оценена

  • 0
    Лучше сделай «скрипку»; это поможет нам отладить, а также поможет решить проблему самостоятельно.
  • 0
    Есть ли шанс, что вы могли бы создать скрипку
Показать ещё 4 комментария
Теги:

3 ответа

1
Лучший ответ

... или вы можете попробовать использовать абсолютное позиционирование для подэлемента, например:

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

Не увидев скрипку, я бы, наверное, внес следующие изменения:

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

Попробуйте использовать float: прямо в #nav ul li ul

Ещё вопросы

Сообщество Overcoder
Наверх
Меню