Я работаю в Bootstrap 4.1, и у меня есть панель навигации, которая запускает модальное диалоговое окно с вкладками и раскрывающееся меню со значком изображения. Я хочу, чтобы "каретка" или стрелка вниз в раскрывающемся меню отображалась справа от изображения.
Я создал собственный класс для класса dropdown-toggle и пробовал различные настройки для этого класса, но, похоже, ничего не работает. Вот кастомный класс:
.dropdown-toggle { align-content: center; }
Вот мой полный код на JSFiddle: https://jsfiddle.net/tsmolskow/aq9Laaew/254602/
Вот часть кода модального диалогового окна:
<div tabindex = "-1" class = "modal fade" id = "MyNNSModal" role = "dialog" aria-hidden = "true" aria-labelledby = "exampleModalLabel">
<div class = "modal-dialog modal-lg" role = "document">
<div class = "modal-content">
<div class = "modal-header">
<div class = "tabbable">
<!-- Nav Tabs, Modal Nav Bar -->
<ul class = "nav nav-tabs" role = "tablist">
<li class = "nav-item active">
<a class = "nav-link active" href = "#aDepartments" data-toggle = "tab">Departments</a></li>
<li class = "nav-item active">
<a class = "nav-link" href = "#aResources" data-toggle = "tab">Resources</a></li>
<li class = "nav-item active">
<a class = "nav-link" href = "#aProcedures" data-toggle = "tab">Procedures</a></li>
<li class = "nav-item active">
<a class = "nav-link" href = "#aNews" data-toggle = "tab">News</a></li>
</ul>
</div>
<div class = "d-flex align-self-end">
<ul class = "navbar-nav mr-auto">
<li class = "nav-item dropdown">
<a class = "dropdown-toggle" data-toggle = "dropdown" id = "navbardrop">
<img src = "http://media.buzzle.com/media/images-en/illustrations/symbols/1200-12627598-eagle-symbol.jpg" class = "profile-picture"/>
</a>
<ul class = "dropdown-menu">
<li><a class = "dropdown-item" href = "#">Newsfeed</a></li>
<li><a class = "dropdown-item" href = "#">One Drive</a></li>
<li><a class = "dropdown-item" href = "#">Sites</a></li>
</ul>
</li>
</ul>
</div>
<!-- Close Button -->
<div>
<button class = "close" aria-label = "Close" type = "button" data-dismiss = "modal">
<span aria-hidden = "true">
<img class = "close-button" src = "/sites/dscott/tmfds/SiteAssets/Images/CloseButton.png" alt = ""/>
</span>
</button>
</div>
</div>Вот мой собственный CSS:
.modal-header {
background: #4a4a4a;
padding: 0.005rem; /* Space from Top and Bottom - Works in IE & Edge, Not Chrome */
height: 90px; /* Overall Height - Works in IE & Edge, Not Chrome */
justify-content:space-between;
}
.nav-tabs {
border: 0;
padding: 1rem;
}
.nav-tabs .nav-link {
border: 1px solid transparent;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
/* DropDown Profile Picture Image */
.dropdown-menu {
background: #4a4a4a;
padding: 0;
color: #fff;
}
/* Size of Font in DropDown Menu */
.nav-tabs .dropdown-menu {
font-size: 0.85rem;
}
.dropdown-item:hover {
background: #000000;
color: #fff;
}
/* DropDown Item Text Color */
.dropdown-item {
color: #fff;
}
.tabs-top {
margin-bottom: 1px;
}
.tabs-4 .nav-tabs > li {
width: 25%;
border: 0;
}
.nav-tabs > li > a {
width: 100%;
border: 0;
background: #4a4a4a;
color: #fff;
border-radius: 0;
text-align: left;
}
/* Change Tab Text Color on Hover */
.nav-tabs > li > a:hover, .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
border: 0;
background: #4a4a4a;
color: #ffd800;
}
/* In-Active Modal Tab - Text, Background */
.nav-tabs > li.active > a {
border: 0;
background: #4a4a4a;
color: #fff;
}
/* Active Modal Tab - Text, Background */
.nav-tabs > li.active > a.active {
border: 0;
background: #4a4a4a;
color: #ffd800;
}
/* Vertically Align Nav Items to the Top */
.nav-item {
vertical-align:top;
}
/* Profile Picture*/
.profile-picture {
display: block;
/*margin-left: auto;*/
/*margin-right: 5px;*/
height: 40%;
width: 60%;
border-radius: 50%;
vertical-align: bottom;
position: relative;
}
/* Profile Picture When Selected */
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
background-color: #4a4a4a;
}
.close-button {
/*display: block;*/
margin-left: auto;
margin-right: 0%;
height: 100%;
width: 100%;
border-radius: 10%;
position: relative;
opacity: .2;
}
.tabbable {
width: 100%;
}
.tabbable > ul.nav.nav-tabs {
display: table;
}
.tabbable > ul.nav.nav-tabs > li {
width: auto;
display: table-cell;
}
.tabbable > ul.nav.nav-tabs > li:last-child {
width: 100%;
vertical-align: bottom;
}
.tabbable > ul.nav.nav-tabs > li:last-child ul.dropdown-menu {
width: 100%;
}
.dropdown-toggle {
align-content: center;
}


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


используйте display:inline-block для класса .изображение профиля и align-self:center для класса .align-self-end, как показано ниже:
.align-self-end {
align-self: center!important;
}
.profile-picture {
display: inline-block;
}
проверьте обновленную скрипку: https://jsfiddle.net/j1pz5obs/
Добавить CSS-правило отображения: встроенное в .dropdown-toggle :: after?
.dropdown-toggle::after {
display: inline;
}
Потрясающие! - Спасибо!