Я работаю над предположительно простым выпадающим меню с помощью HTML и CSS и столкнулся с проблемой. После очистки google и форумов безрезультатно, подумал, что пришло время спросить. Я пытаюсь получить выпадающее меню, чтобы соответствовать его родительскому элементу.Drop Down Alignment
Я экспериментировал с несколькими различными методами, и до сих пор наиболее обнадеживающим кажется, что значение «left:» задается необходимым процентом.
Это вызывает еще одну проблему: Проблема: когда я устанавливаю левое значение, я получаю пустую пустую область справа от элемента, от которого я не могу избавиться. Невозможно получить ширину.
код находится здесь: https://jsfiddle.net/c6mz3t08/5/
HTML
<div id="navbar-top">
<ul class="horizontal">
<li>Home</li>
<li>About
<ul>
<li>Menu 1</li>
<li>Menu 2</li>
</ul>
</li>
<li>Header</li>
<li>Header</li>
<li>Header</li>
</ul>
CSS для выпадающего списка
.horizontal li ul {
opacity:0;
visibility:hidden;
text-align:left;
position:absolute;
top:50px;
left:-38%; //end up with blank space on right?
}
.horizontal li ul li {
position:relative;
background-color:#BBB;
display:block;
width:100%;
}
Кажется, проблема выравнивания происходит потому, что <ul>
начинается после слова "О" во втором <li>
.
Спасибо Johannes! Это работало довольно хорошо. – PoppyLlama