2012-01-13 4 views
0

Я пытаюсь центрировать li под предыдущим li для выпадающего меню. Лучшее, что я мог придумать, - использовать отрицательный запас, чтобы переместить список влево, но это не работает равномерно. Есть идеи?CSS - Центрирование li под предыдущим li

http://empact.mcallinder.com/empact.php

#navigation { 
    height: 50px; 
    width: 960; 
} 
#navigation ul li { 
    display: block; 
    float: left; 
    padding: 0 40px; 
} 
#navigation ul li ul { 
    display:none; 
    width: 240px; 
} 
#navigation li:hover ul { 
    display:block; 
    position: absolute; 
    margin: 0 0 0 -35px; 
    padding: 0; 
} 
+2

только с точки зрения пользователя ... центральные пункты меню не выглядят хорошо .... следуйте по умолчанию, выравнивание по левому краю –

+0

может, возможно, использовать 'text-align: center' на li, а затем обернуть текст в span или div. – mpen

ответ

2

В вашем случае, вам нужно добавить position:relative для #navigation ul li, а затем установите #navigation li:hover ul с помощью

left: 50%; 
margin-left: -52px; 

Поступая так, вы, поначалу, ul до половины родительского li, а затем переместит его влево в соответствии с его размерами.

+0

Спасибо, что сработало хорошо. – mcallinder

0

Попробуйте эту кодировку:

#navigation ul li { 
    border: 1px solid black; 
    display: block; 
    float: left; 
    padding: 0 30px; 
    width: 80px; 
} 
Смежные вопросы