Я учусь создавать вложенное раскрывающееся меню, используя CSS.
Я хочу разместить стрелку вниз в конце каждого выпадающего элемента. Вот так:
Dropdown A[down arrow]
Nested dropdown B[down arrow]
Сейчас ширина и высота каждого элемента списка различаются в зависимости от высоты и ширины подсписка внутри. Это затрудняет размещение стрелки вниз сразу после имени элемента.
<div class="menu">
<ul>
<li>
Dropdown A
<ul>
<li class="link">
<a href="">Im a link</a>
</li>
<li class="link">
<a href="">Im a link</a>
</li>
<li>
Nested dropdown
<ul>
<li class="link">
<a href="">Im a link</a>
</li>
<li class="link">
<a href="">Im a link</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
Dropdown B
<ul>
<li class="link">
<a href="">Im a link</a>
</li>
<li class="link">
<a href="">Im a link</a>
</li>
<li>
Nested dropdown
<ul>
<li class="link">
<a href="">Im a link</a>
</li>
<li class="link">
<a href="">Im a link</a>
</li>
<li>
Nested dropdown B
<ul>
<li class="link">
<a href="">Im a link</a>
</li>
<li class="link">
<a href="">Im a link</a>
</li>
<li>
Nested dropdown C
<ul>
<li class="link">
<a href="">Im a link</a>
</li>
<li class="link">
<a href="">Im a link</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="link">Simple Link</li>
<li class="link">Another Link</li>
</ul>
</div>
// refer to: https://dev.to/felipperegazio/building-a-pure-css-menu-with-nested-dropdowns-hcn
.menu > ul
{
display: flex;
justify-content: space-evenly;
height: 40px;
li
{
position: relative;
background: lightgoldenrodyellow;
&::before
{
// draw down arrow
content: '';
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 5px solid #FFA500;
position: absolute;
// I WANT TO PLACE THIS RIGHT NEXT TO THE LIST ITEM NAME
}
&.link {
// links dont need arrow
&::before {
display: none;
}
}
ul
{
visibility: hidden;
opacity: 0;
}
&:hover > ul
{
visibility: visible;
opacity: 1;
}
}
}
ul
{
list-style: none;
}
Вы можете увидеть живое демо здесь: https://codepen.io/loganlee/pen/ExjYRyb?editors=1100