Это похоже на другие опубликованные вопросы, но немного более конкретно c.
Моя цель - создать разделенную навигационную панель, используя CSS (чистый или bootstrap), с логином и кнопки регистрации выровнены по правому краю и другие кнопки по левому краю. На экранах XL у меня кнопки входа и регистрации меняются со встроенного блока на блок-дисплей, что заставляет их занимать две строки в каждой. Каждый состоит из шрифта и иконки. С этим простым изменением у меня много проблем с вертикальным выравниванием других кнопок. Кнопки блока расположены по центру в навигационной панели, но остальные расположены слишком высоко.
У всех решений на основе flexbox был побочный эффект удаления выравнивания по правому краю кнопок входа и регистрации. Это включает в себя любые классы bootstrap, такие как d-flex, с добавлением любых свойств выравнивания в файл css.
Я мог бы изменить дизайн панели навигации, чтобы элементы, выровненные по правому краю, находились на дополнительной панели навигации, как в решении здесь: bootstrap navbar, плавающий влево и вправо , но мне довольно любопытно решить / понять эту проблему (и иметь возможность реализовать это самым простым способом).
Вот как у меня есть структура html:
<div class="container-fluid">
<div class="row no-gutters flex-row">
<ul class="">
<li class=""> <a href="#">Map</a></li>
...
<li class="dropdown">
...
</li>
<li class="nav navbar-right " id="signup-btn">
<a href="#" data-toggle="modal" data-target="#"><span class="fa fa-user"></span><span class="d-none d-sm-inline d-xl-block">Sign Up</span></a>
</li>
<li class="nav navbar-right " id="login-btn">
<a href="#" data-toggle="modal" data-target="#"><span class="fa fa-sign-in"></span><span class="d-none d-sm-inline d-xl-block" >Log In</span></a>
</li>
</ul>
</div>
</div>
Custom CSS для этих элементов:
li {
float: left;
}
li a, .dropbtn {
display: inline-block;
text-align: center;
padding: .9rem .9rem;
}
#login-btn{
float: right; !important;
}
#signup-btn {
float: right; !important;
}
#navbar li {
vertical-align: center;
}
Как это выглядит:
Если я попытаюсь опубликовать некоторые из опубликованных гибких решений, например, здесь Bootstrap NavBar с выровненными по левому, среднему или правому краю элементами , можно Больше не разбивайте навигационную панель: