Навбар меньше, чем навбар-бренд - PullRequest
0 голосов
/ 06 ноября 2018

Я ищу способ иметь больший бренд navbar (bootstrap 4), чем высота самого navbar. Таким образом, марка navbar должна перекрывать панель навигации. В настоящее время кажется, что высота навигационной панели увеличена, чтобы соответствовать марке навигационной системы.

enter image description here

Мой HTML выглядит так:

    <nav class="navbar navbar-expand-lg navbar-custom fixed-top top-menu-4">
    <div class="container">
        <div class="navbar-brand">
            <img src="https://via.placeholder.com/350x170.png" width="350px" height="170px" alt="">
        </div>
        <button class="navbar-toggler custom-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive"
            aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
            <ul class="navbar-nav ml-auto">
                <li class="nav-item">
                    <a class="nav-link" href="none.html">Example 1</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="none.html">Example 2</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="none.html">Example 3</a>
                </li>
            </ul>
        </div>

    </div>
</nav>

Так что я хочу что-то вроде перекрытия:

enter image description here

Ответы [ 4 ]

0 голосов
/ 06 ноября 2018

Вы должны применить абсолютную позицию к вашему изображению.

.navbar-brand img {
    position: absolute;
    top: 10px;
    left: 30px;
    max-height: 100px;
    object-fit: contain;
}
0 голосов
/ 06 ноября 2018

Задайте фиксированную высоту для .navbar и примените преобразование для .navbar-brand

.navbar {
  height: 100px;
  background-color: rgba(255, 255,255, 0.9);
}

.navbar-brand {
  transform: translateY(calc(50% - 30px));
}

Найдите здесь скрипку

0 голосов
/ 06 ноября 2018

Вы можете установить высоту .navbar на некоторое фиксированное значение, и, поскольку вы используете flexbox на .container, вы можете выровнять элемент .nav-brand по его верху.

Подробнее см. Ниже:

.navbar .container {
height: 100px; /* change this to whatever value you want */ 
}

.navbar-brand {
  align-self: flex-start;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.2/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-expand-lg navbar-custom fixed-top top-menu-4">
    <div class="container">
        <div class="navbar-brand">
            <img src="https://via.placeholder.com/350x170.png" width="350px" height="170px" alt="">
        </div>
        <button class="navbar-toggler custom-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive"
            aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
            <ul class="navbar-nav ml-auto">
                <li class="nav-item">
                    <a class="nav-link" href="none.html">Example 1</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="none.html">Example 2</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="none.html">Example 3</a>
                </li>
            </ul>
        </div>

    </div>
</nav>
0 голосов
/ 06 ноября 2018

Вы можете просто сделать позицию navbar-brand: абсолютной ...

.navbar-brand {
    top:0;
    position: absolute;
}

Демо: https://www.codeply.com/go/sJc3uCUL5s

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