2015-02-20 4 views
1

Нужна помощь с выпадающим меню. Я сделал скрипку здесь: http://jsfiddle.net/bLL0rmbd/
Я хочу, чтобы выровнять подменю парения, как на картинке:CSS menu child align

http://i58.tinypic.com/2v865pl.jpg

HTML:

<div id="wrapper"> 
    <div id="navbar"> 
     <ul> 
      <li><a href="#">Menu 1</a></li> 
      <li><a href="#">Menu 2</a></li> 
      <li><a href="#">Menu 3</a> 
       <ul> 
        <li><a href="#">SubMenu 1</a></li> 
        <li><a href="#">SubMenu 2</a></li> 
        <li><a href="#">SubMenu 3</a></li> 
       </ul>  
      </li>     
     </ul> 
    </div> 
</div> 

CSS:

<style> 
    #wrapper {padding: 0; margin: 30px} 

    #navbar ul { 
     padding: 0; 
     margin:0px; 
     list-style: none; 
     float:left; 
     background:#FF6; 
    } 
    #navbar ul li { display: inline-block; margin-right:20px;} 
    #navbar ul li a {text-decoration:none;} 
    #navbar ul ul { 
     position:absolute; 
     display: none; 
    } 
    #navbar ul ul li {display:block;} 

    #navbar ul li:hover > ul { 
     display: block; 
     background-color:#CFC; 
    } 
</style> 
+0

так что вы хотите, чтобы запустить подменю сразу же после 2 меню в тексте? –

+0

Нет, я хочу выровнять правую сторону подменю в правой части его патента, «Меню 3» – bgdr

+0

проверить мой ответ –

ответ

1

я надеюсь, что это работает для вас.

 #navbar ul { 
padding: 0; 
    margin:0px; 
    list-style: none; 
float:left; 
    background:#FF6; 
    position: relative; 

     } 
    #navbar ul ul { 
position:absolute; 
display: none; 
    right: 0; 
top: 100%; 
    } 

Я только что применил 3 строки кода pos: относительный по ul и абсолютное значение в раскрывающемся списке.

Или вы можете установить pos: относительно #navbar li и изменить абсолютное значение для раскрывающегося списка для желаемого.

Приветствия

Link to fiddle

+0

Спасибо за ваши быстрые ответы. Еще один вопрос. Когда я нахожу подменю, я хочу, чтобы фоновый парент был зеленым, как дочернее меню. – bgdr

+0

приятный. !! Я не понял тебя точно, но надеюсь, ты хочешь чего-то подобного. http://jsfiddle.net/sabipu/bLL0rmbd/7/ или что-то еще? или во время зависания вы можете сделать весь желтый фон ul зеленым, добавив ul: hover (измените bg-color) –

+0

Когда я держу курсор над Submenu1, 2, 3, я хочу, чтобы фон «Menu 3» был зеленым – bgdr

0

Добавить отрицательный margin-left в подменю, и он должен работать:

#navbar ul li:hover > ul 
{ display: block; 
    background-color:#CFC; 
    margin-left:-25px;            
} 

Обновлено скрипка: http://jsfiddle.net/bLL0rmbd/3/

0

Вам это CSS здесь

#navbar ul { 
    padding: 0; 
    margin:0px; 
    float:left; 
    background:#CFC; 
    position: relative; 
    } 

#navbar ul ul { 
    position:absolute; 
    display: none; 
    right: 0; 
    top: 100%; 
    } 

Check the fiddle here

0

Добавьте этот CSS стиль для вашего недавнего вопроса:

li:hover{background-color:#CFC;} 

#navbar ul li:hover > ul 
{ display: block; 
    background-color:#CFC; 
    margin-left:-25px;            
} 

Проверить эту скрипку: http://jsfiddle.net/bLL0rmbd/11/

0

try this demo

#navbar ul { 
padding: 0; 
margin:0px; 
list-style: none; 
float:left; 
background:#FF6; 
position: relative; 
} 
#navbar ul ul { 
position:absolute; 
display: none; 
right: 0; 
top: 100%; 
} 
+0

Было бы полезно, если бы вы могли добавить немного больше информации о своем решении. – janfoeh