Раскрывающийся список CSS третьего уровня
У меня есть раскрывающийся список CSS, который в основном это: http://jsfiddle.net/2RgmH/
<ul id="menu">
<li><span>Example 1</span>
<ul>
<li><span>Level 2-A-1</span></li>
<li><span>Level 2-A-2</span></li>
<li><span>Example 2</span>
<ul>
<li><span>Example 3</span>
<li><span>Level 3-A-2</span></li>
<li><span>Level 3-A-3</span></li>
</ul>
</li>
<li><span>Level 2-A-4</span></li>
</ul>
</li>
<li><span>Level 1-B</span></li>
<li><span>Level 1-C</span></li>
<li><span>Level 1-D</span></li>
<li><span>Level 1-E</span></li>
</ul>
#menu > li > ul li > ul{ /* Third Level & beyond */
display:none;
background:#068;
}
#menu > li > ul li:hover > ul{
display:block;
position:absolute;
left:100%;
border-left:solid 3px #fff;
top:0;
width:auto;
}
#menu > li > ul > li ul > li{
display:block;
padding:3px 10px;
border-top:solid 3px #fff;
white-space:nowrap;
}
#menu > li > ul > li ul > li:hover > span{
color:#fff;
}
Я бы хотел, чтобы уровень 3 соответствовал уровню 2. Изменение выпадающего меню 3-го уровня в положение: относительный почти делает это, но увеличивает размер примера 2 до размера меню 3-го уровня - не очень хорошо.
Куда я иду не так?
Редактировать:
Я должен был связать с реальным примером, извинения. Страница, над которой я работаю, находится здесь: http://gmnscouts.org.uk/index2.php/ - это второе меню. Если вы зайдете в Округа> Мероприятия, вы увидите мою проблему. Ли простирается для размещения ул. Это с этим установлено относительно. Установка его в абсолютное толкает меню вверх, что также является нежелательным поведением.
1 ответ
Добавьте этот CSS:
ul.children li ul.children {
position: absolute;
left: 100%;
top: 0;
}
ul.children > li { position: relative; }
Благодаря абсолютному позиционированию меню третьего уровня не будет занимать места, поскольку будет находиться в своем собственном слое.