Изменен на Bootrap 4, и теперь моя панель навигации выглядит синей, и ни одно из выпадающих меню не выровнено так, как раньше - PullRequest
0 голосов
/ 30 мая 2019

У меня есть проект ASP.NET Core Aurelia SPA, и я только что обновил до начальной загрузки 4 с 3. У меня есть многоуровневые выпадающие меню на моей панели навигации. Я изменил HTML для этого на то, что, как я считаю, должно быть.

<template>
<require from="./navmenu.css"></require>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark navbar-custom p-0">
    <a class="navbar-brand" href="#/home">JobsLedger</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>

    <div class="navbar-collapse collapse" id="navbarNav">
        <ul class="navbar-nav">
            <li repeat.for="route of router.navigation" class="${route.isActive ? 'active' : ''}">
                <a href.bind="route.href" if.bind="!route.settings.nav"><font-awesome-icon icon="${ route.settings.icon }"></font-awesome-icon> ${route.title}</a>

                <a href.bind="route.href" if.bind="route.settings.nav" class="dropdown-toggle" data-toggle="dropdown">
                    <font-awesome-icon icon="${ route.settings.icon }"></font-awesome-icon> ${route.title} <span class="caret"></span> <!--First level menu heading - requires route.settings.nav to exist-->
                </a>

                <ul if.bind="route.settings.nav" class="dropdown-menu">
                    <li repeat.for="menu of route.settings.nav" class="${menu.settings.divider ? 'divider' : 'dropdown-submenu'}">
                        <a href.bind="menu.href" if.bind="!menu.settings.nav"><font-awesome-icon icon="${ menu.settings.icon }"></font-awesome-icon> ${menu.title}</a>

                        <a href.bind="menu.href" if.bind="menu.settings.nav" class="dropdown-toggle" data-toggle="dropdown">
                            <font-awesome-icon icon="${ menu.settings.icon }"></font-awesome-icon> ${menu.title} <span class="caret-right"></span>
                        </a>
                        <ul if.bind="menu.settings.nav" class="dropdown-menu">
                            <li repeat.for="subMenu of menu.settings.nav" class="${subMenu.settings.divider ? 'divider' : 'dropdown-submenu'}">
                                <a href.bind="subMenu.href" if.bind="!subMenu.settings.nav"><font-awesome-icon icon="${ subMenu.settings.icon }"></font-awesome-icon> ${subMenu.title}</a>

                                <a href.bind="subMenu.href" if.bind="subMenu.settings.nav" class="dropdown-toggle" data-toggle="dropdown">
                                    <font-awesome-icon icon="${ subMenu.settings.icon }"></font-awesome-icon> ${subMenu.title} <span class="caret-right"></span>
                                </a>
                                <ul if.bind="subMenu.settings.nav" class="dropdown-menu">
                                    <li repeat.for="lowestSubMenu of subMenu.settings.nav" class="${lowestSubMenu.settings.divider ? 'divider' : 'dropdown-submenu'}">
                                        <a href.bind="lowestSubMenu.href" if.bind="!lowestSubMenu.settings.divider"> <font-awesome-icon icon="${ lowestSubMenu.settings.icon }"></font-awesome-icon> ${lowestSubMenu.title}</a>
                                    </li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>

        <ul class="nav navbar-nav navbar-right">
            <li repeat.for="row of routes" if.bind="row.settings.pos == 'right'" class="${ row.isActive ? 'link-active' : '' }">
                <a href.bind="row.href" if.bind="!row.settings.nav">${ row.title }</a>

                <a href.bind="row.href" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"
                     if.bind="row.settings.nav">
                    ${row.title}
                    <span class="caret"></span>
                </a>

                <ul if.bind="row.settings.nav" class="dropdown-menu">
                    <li repeat.for="menu of row.settings.nav">
                        <a href.bind="menu.href">${menu.title}</a>
                    </li>
                </ul>
            </li>
            <li><a>Welcome ${userName}</a></li>
            <li><a href="#" click.delegate="logout()">Log Out</a></li>
        </ul>
    </div>
</nav>
</template>

В начале я включил файл CSS, который используется для работы:

/* Highlighting rules for nav menu items */
li.au-target.link-active a,
li.au-target.link-active a:hover,
li.au-target.link-active a:focus {
    background-color: #4189C7;
    color: white;
}

/* Keep the nav menu independent of scrolling and on top of other items */
.nav {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
}


.dropdown-submenu {
    position: relative;
}

    .dropdown-submenu > .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: -6px;
        margin-left: -1px;
        -webkit-border-radius: 0 6px 6px 6px;
        -moz-border-radius: 0 6px 6px;
        border-radius: 0 6px 6px 6px;
    }

    .dropdown-submenu:hover > .dropdown-menu {
        display: block;
    }

.caret-right {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #a3a3a3;
    margin-top: 5px;
    margin-right: -15px;
}

    .dropdown-submenu:hover > a:after {
        border-left-color: #fff;
    }

    .dropdown-submenu.pull-left {
        float: none;
    }

        .dropdown-submenu.pull-left > .dropdown-menu {
            left: -100%;
            margin-left: 10px;
            -webkit-border-radius: 6px 0 6px 6px;
            -moz-border-radius: 6px 0 6px 6px;
            border-radius: 6px 0 6px 6px;
    }

С обновлением у меня теперь все заголовки синего цвета, и, если я выпадаю, он попадает в крайний левый угол, которому присваивается абсолютное значение.

Вот изображение меню:

enter image description here

Наконец, тот факт, что это спа и веб-пакет изменяет CSS и далее, HTML-классы здесь являются частью проверенной страницы:

enter image description here

Как мне изменить цвет на обычный белый и, что более важно, как сделать, чтобы выпадающие списки находились под выпадающим меню?

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