2012-03-22 5 views
1

У меня возникла проблема с попыткой получить UL второго уровня с 100% шириной, основанной на родительском LI, а не на первом уровне UL, как сейчас. Я пытаюсь использовать только CSS, если это возможно. Причина, по которой я пытаюсь понять это, заключается в том, что я могу затем центрировать раскрывающийся список под родителем.Проблема с шириной UL второго уровня - только css

Чтобы лучше понять, что я пытаюсь имитировать это навигационное выпадающее меню при наведении на MEN: http://us.gant.com/

<ul> <----first level 
    <li> 
    <ul> <----second level 
    <li></li> 
    </ul> 
    </li> 
</ul> 
+0

ширина: 100% вещи могут иметь только самый последний элемент в дереве, для которого известна ширина. Если вы не указали явно ширину, она просто поднимет дерево, пока не найдет что-то. Чтобы получить такое сосредоточенное поведение легко, я не знаю простой способ, но я могу думать о некоторых сложных, которые кажутся уродливыми. – PlexQ

ответ

0

Вы должны указать ширину родительского li для этого. Так что-то вроде этого:

ul li { 
    width: 50px; 
} 

ul li li { 
    width: auto; /* reset width */ 
} 

Теперь ul из подменю имеет ту же ширину li, потому что li его первый предок с шириной указан.

+0

проблема с этим заключается в том, что родительский уровень li не может иметь определенную ширину, поскольку все ссылки имеют разную длину письма. – jonthoughtit

Смежные вопросы