在导航栏 React 上很好地放置图像徽标和品牌名称

placing image logo and brand name nicely on the navbar React

我正在尝试将我的徽标很好地放置在导航栏的左上角。然而,当我这样做时,品牌名称被置于一个奇怪的位置。

如果有人能告诉我如何将徽标和品牌很好地放置在导航栏上,我将不胜感激。

这是HTML:

  <nav id="navbar">
    <div className="nav-wrapper">
      <Link
        to={this.props.auth ? "/dashboard" : "/"}
        className="left brand-logo"
      >
        <img src={Logo} alt="logo" className="photo" />
        <div id="logo">Logo</div>
      </Link>
      <ul className="right">{this.renderContent()}</ul>
    </div>
  </nav>

这是 css:

#navbar {
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
}
#logo {
  display: inline-block;
  height: 100%;
  padding-left: 20px;
}
.photo {
  width: 64px;
  height: 64px;
}

我目前正在为导航栏使用物化 CSS。

您可以将 nav-wrapper 声明为 display:"flex" 并使用 align-items:"center". 那么它应该可以正常工作。

如果这是您要找的东西,请告诉我。

如果没有,我们可以尝试更多的东西。

#Nav_Bar {
  height: 45px;
  background-color: salmon;
  display: flex;
  align-items: center;
}

#Nav_Bar>div {
  margin: 10px;
}

img {
  max-height: 35px;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  <title>Static Template</title>
  <link rel="stylesheet" href="./index.css" />
</head>

<body>
  <nav id="Nav_Bar">
    <div id="Logo_Wrapper">
      <a href="https:google.com">
        <img src="./Logo.JPG" />
      </a>
    </div>
    <div>
      <h2>Logo</h2>
    </div>
  </nav>
</body>
</html>

只需添加此 css 行即可。

.brand-logo {
  display: inline-flex !important;
}

代码和框: Logo Issue

使用弹性框

  #navbar{
   display:flex;
   align-items:flex-start;
   justify-content:center || space-around || space-evenly;
   }

这应该可以做到,flex-box 可以毫不费力地创建导航栏。 在您认为合适的地方添加边距。