Как сделать следующее меню с помощью Bootstrap 4 таким образом, чтобы значок справа всегда оставался, а текст автоматически обрезался (с помощью …
) при его переполнении.
<li class="nav-item dropdown">
<a href='#' class='a nav-link dropdown-toggle' aria-expanded='false' data-toggle='dropdown'>Dropdown</a>
<ul class='dropdown-menu' role='menu'>
<li><a href="page1.html" class='dropdown-item' role='menuitem'>Long title</a></li>
<li><a href="page2.html" class='dropdown-item' role='menuitem'>Cut off with</a></li>
</ul>
</li>
Я пытался отобразить значок с использованием псевдоэлемента ::after
, но это не позволяет использовать многоточие в тексте.Я попытался использовать два DIV с float-left
и float-right
, которые не работают, когда они перекрываются.
Я ищу решение, позволяющее избежать жестко закодированных значений ширины.Я думаю, что правильное направление - это использование CSS3 flexbox:
<li>
<a href="page1.html" class='dropdown-item' role='menuitem'>
<span class='title'>Long title</span>
<span class='icon'><i class='fa fa-lock'></i></span>
</a>
</li>
со следующим CSS:
.dropdown-item {display:flex; flex-direction:row}
.title {display:flex; margin-right: auto}
.icon {display: flex}
К сожалению, такой подход не работает.
