Разделение элементов навигации с помощью Flex - PullRequest
0 голосов
/ 05 марта 2019

По сути, я пытаюсь отделить последние два элемента от других элементов моего li, чтобы они сидели на гибком конце контейнера .nav-content. Я понимаю, что моя проблема проистекает из того факта, что в настоящее время у меня width: 50%; установлен мой ul class="nav-links", но это был единственный способ, которым я мог получить интервал между моими предметами, чтобы продемонстрировать, что я пытаюсь сделать. В идеале я просто хочу переместить два последних элемента .login-button first-login и .login button second-login в конец контейнера .nav-content, сохраняя при этом расстояние между элементами таким, какое они есть сейчас.

Я попытался установить margin-left: auto в классе .login-button, но, поскольку для поля установлено значение 50%, он пытается обернуть кнопки и обрезать их. Я также попытался установить ширину в 100% (ширина контейнера .nav-content), но тогда промежуток между объектами сбрасывается.

Я знаю, что, возможно, есть простое решение, которого я не вижу, и буду очень признателен за помощь!

.nav-content {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 8vh;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    margin-top: 30px;
}

.nav-links {
    display: flex;
    justify-content: space-between;
    width: 50%;
    margin-left: 50px;
}

.nav-links li {
    list-style: none;
}

.nav-links a {
    text-decoration: none;
    letter-spacing: 2px;
    font-weight: 400;
    font-size: 12px;
    color: black;
    text-transform: uppercase;
    position: relative;   
}

.nav-links a.item {
    text-decoration: none;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 12px;
    color: black;
    text-transform: uppercase;
    position: relative;
}

.nav-links a.item:hover {
    color: black;
}

.nav-links a.item:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -5px;
    left: 0;
    background-color: blue;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}

.nav-links a.item:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

.nav-links li a.login-button {
    background: blue;
    padding: 10px 30px;
    color: white;
    box-shadow: 0 15px 10px -10px rgba($color: #000000, $alpha: 0.2);
    font-weight: 400;
    text-transform: capitalize;
}

.nav-links li a.login-button:hover {
    background: green;
}
   <header id="header">
        <section class="wrapper">
            <nav class="nav-content">
                <a href="#" class="logo">Logo</a>
                <ul class="nav-links">
                    <li><a href="#" class="item">Item 1</a></li>
                    <li><a href="#" class="item">Item 2</a></li>
                    <li><a href="#" class="item">Item 3</a></li>
                    <li><a href="#" class="item">Item 4</a></li>
                    <li><a href="#" target="_blank" class="login-button first-login">First Login</a></li>
                    <li><a href="#" target="_blank" class="login-button second-login">Second Login</a></li>
                </ul>
            </nav>
        </section>    
    </header>

1 Ответ

0 голосов
/ 05 марта 2019

Что-то вроде этого?

Оберните две кнопки в другом ul до конца контейнера ... как:

<ul class="nav-links navbar-nav ml-auto">

Проверьте код ниже

.nav-content {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 8vh;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    margin-top: 30px;
}

.nav-links {
    display: flex;
    justify-content: space-between;
    width: 50%;
    margin-left: 50px;
}

.nav-links li {
    list-style: none;
}

.nav-links a {
    text-decoration: none;
    letter-spacing: 2px;
    font-weight: 400;
    font-size: 12px;
    color: black;
    text-transform: uppercase;
    position: relative;   
}

.nav-links a.item {
    text-decoration: none;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 12px;
    color: black;
    text-transform: uppercase;
    position: relative;
}

.nav-links a.item:hover {
    color: black;
}

.nav-links a.item:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -5px;
    left: 0;
    background-color: blue;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}

.nav-links a.item:hover:before {
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

.nav-links li a.login-button {
    background: blue;
    padding: 10px 30px;
    color: white;
    box-shadow: 0 15px 10px -10px rgba($color: #000000, $alpha: 0.2);
    font-weight: 400;
    text-transform: capitalize;
    float: right;
}

.nav-links li a.login-button:hover {
    background: green;
}
<header id="header">
        <section class="wrapper">
            <nav class="nav-content">
                <a href="#" class="logo">Logo</a>
                <ul class="nav-links">
                    <li><a href="#" class="item">Item 1</a></li>
                    <li><a href="#" class="item">Item 2</a></li>
                    <li><a href="#" class="item">Item 3</a></li>
                    <li><a href="#" class="item">Item 4</a></li>
                   
                </ul>
        <ul class="nav-links navbar-nav ml-auto">
 <li><a href="#" target="_blank" class="login-button first-login">First Login</a></li>
                    <li><a href="#" target="_blank" class="login-button second-login">Second Login</a></li>
        </ul>
            </nav>
        </section>    
    </header>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...