导航栏中间有徽标[复制]

问题描述 投票:0回答:3

这个问题在这里已有答案:

我有一个带有徽标的导航栏,中间有两个链接。如何防止徽标向下推(添加边距/填充)?基本上......导航栏背景高度不应该扩展。我希望徽标位于顶部并重叠。

如果我要使徽标定位绝对可能解决问题,但我需要这只发生在容器本身内。不知道该怎么做。目前我只使用里面带有img标签的li标签。这种方式没有hacky解决方法。我正在使用你可能已经看过的Bootstrap 4。

Navbar with logo

    <nav class="navbar fixed-top navbar-expand-md justify-content-between">
        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#collapsingNavbar">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="navbar-collapse collapse justify-content-center" id="collapsingNavbar">
            <ul class="navbar-nav">
                <li class="nav-item active">
                    <a class="nav-link" href="#">Link <span class="sr-only">Home</span></a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#" data-toggle="collapse">Link</a>
                </li>
                <li class="nav-item">
                    <img src="img/logo-placeholder.png" id="logo"></img>
                </li>
                <li class="nav-item active">
                    <a class="nav-link" href="#">Link <span class="sr-only">Home</span></a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#" data-toggle="collapse">Link</a>
                </li>
            </ul>
        </div>
    </nav>
html css3 bootstrap-4 navbar
3个回答
0
投票

你可以给.navbar-nav align-items: center;然后它将在中间

加上你的img不应该有结束标记来改变它

<img src="img/logo-placeholder.png" id="logo"></img>

<img src="img/logo-placeholder.png" id="logo">

UPDATED

我从你的image了解到

只需在左右两侧定义2 ul,在中间定义图像

风格.navbar-nav给它以下风格

  width: 100%;
  background-color: #eee;

然后你可以玩ul定位他们

.right {
  justify-content: flex-start;
}

.left {
  justify-content: flex-end;
}
.navbar-nav {
  align-items: center;
  width: 100%;
  background-color: #eee;
}

.right {
  justify-content: flex-start;
}

.left {
  justify-content: flex-end;
}

在这里你可以在fiddle上查看


0
投票

HI到您的导航栏,您可以给出样式.navbar{text-align:center;}because如果您使用文本对齐中心它也将对齐您的图像在中心。


0
投票
add this in css

#navbar-primary .navbar-nav { 
//  background: #ededed;
  width: 100%;
  text-align: center;
  > li {
    display: inline-block;
    float: none;
    > a {
      padding-left: 30px;
      padding-right: 30px;
    }
  }
}

HTML file
<header role="banner">
<nav id="navbar-primary" class="navbar" role="navigation">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-primary-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>
    <div class="collapse navbar-collapse" id="navbar-primary-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#"><img id="logo-navbar-middle" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/32877/logo-thing.png" width="200" alt="Logo Thing main logo"></a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
</header><!-- header role="banner" -->
© www.soinside.com 2019 - 2024. All rights reserved.