Bootstrap 4.1 - Правильное Оправдание Выпадающей Каретки - PullRequest
0 голосов
/ 23 октября 2018

Я работаю в Bootstrap 4.1, и у меня есть Navbar, который запускает модальное диалоговое окно с вкладками и выпадающее меню со значком изображения.Я хочу, чтобы "курсор" или стрелка вниз раскрывающегося меню появлялись справа от изображения.

Я создал собственный класс для класса 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;
}

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Добавить правило отображения CSS: inline on .dropdown-toggle :: after?

.dropdown-toggle::after {
    display: inline;
}
0 голосов
/ 23 октября 2018

используйте display:inline-block для класса .profile-picture и align-self:center для класса .align-self-end , как показано ниже:

.align-self-end {
   align-self: center!important;
}
.profile-picture {
    display: inline-block;
}

проверить обновленную скрипку: https://jsfiddle.net/j1pz5obs/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...