将徽标添加到导航栏

Add logo to navbar

我在尝试向导航栏添加徽标时遇到了这个问题。当我将徽标放在其他导航栏项目之前时,徽标太大了,当我尝试调整大小时,它仍然看起来不合适。我希望徽标必须与其他项目一致,或者让其他导航栏项目与徽标居中。我认为使用 flexbox 会简单得多,并使这个过程更容易,但我想避免在这里为这个导航栏使用 flexbox。

nav {
  background: rgb(255, 255, 255);
  padding: 10px;
  box-shadow: rgba(120, 126, 133, 0.2) 0px 8px 24px;
  padding: 2em;
  padding-bottom: 0.6em;
  padding-top: 0.6em;
}

nav ul {
  list-style: none;
  text-align: center;
  margin-top: 0px;
  padding-left: 0px;
  margin-bottom: 0px;
}

nav ul li {
  display: inline-block;
}

nav ul li a {
  display: block;
  padding: 15px;
  padding-top: 10px;
  padding-bottom: 10px;
  text-decoration: none;
  color: rgb(0, 0, 0);
  font-weight: 800;
  text-transform: uppercase;
  margin: 0 10px;
}

nav ul li a,
nav ul li a:after,
nav ul li a:before {
  transition: all .5s;
}

nav ul li a:hover {
  color: #555;
}

nav.stroke ul li a,
nav.fill ul li a {
  position: relative;
}

nav.stroke ul li a:after,
nav.fill ul li a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 0%;
  content: '.';
  color: transparent;
  background: rgb(255, 255, 255);
  height: 1px;
}

nav.fill ul li a {
  transition: all 2s;
}

nav.fill ul li a:after {
  text-align: left;
  content: '.';
  margin: 0;
  opacity: 0;
}

nav.fill ul li a:hover {
  color: rgb(0, 0, 0);
  z-index: 1;
}

nav.fill ul li a:hover:after {
  z-index: -10;
  animation: fill 0.6s forwards;
  -webkit-animation: fill 0.6s forwards;
  -moz-animation: fill 0.6s forwards;
  opacity: 1;
}

.fill img {
  width: 80px;
  image-rendering: -moz-crisp-edges;
  /* Firefox */
  image-rendering: -o-crisp-edges;
  /* Opera */
  image-rendering: -webkit-optimize-contrast;
  /* Webkit (non-standard naming) */
  image-rendering: crisp-edges;
  -ms-interpolation-mode: nearest-neighbor;
  text-align: center;
}
<nav class="fill">
  <ul>
    <li><img src="https://i.imgur.com/bblqj5b.png" alt="SCP"></li>
    <li><a href="index.html">Home</a></li>
    <li><a href="wwd.html" target="blank_">What we do</a></li>
    <li><a href="#">Goal 1</a></li>
    <li><a href="#">Goal 2</a></li>
    <li><a href="lildicky.html">Earth by Lil Dicky</a></li>
  </ul>
</nav>

你猜对了。我将 display: flex 添加到 ul 容器中。列表项以内嵌方式显示,并在垂直和水平方向上居中。

但是它们保持在一行中word-wrapping它们的内容..您希望项目在下一行溢出吗?

nav {
  background: rgb(255, 255, 255);
  padding: 10px;
  box-shadow: rgba(120, 126, 133, 0.2) 0px 8px 24px;
  padding: 2em;
  padding-bottom: 0.6em;
  padding-top: 0.6em;
}

nav ul {
  /*as easy as using display flex on container*/
  display: flex;
  list-style: none;
  text-align: center;
  margin-top: 0px;
  padding-left: 0px;
  margin-bottom: 0px;
}

nav ul li {
  display: inline-block;
}

nav ul li a {
  display: block;
  padding: 15px;
  padding-top: 10px;
  padding-bottom: 10px;
  text-decoration: none;
  color: rgb(0, 0, 0);
  font-weight: 800;
  text-transform: uppercase;
  margin: 0 10px;
}

nav ul li a,
nav ul li a:after,
nav ul li a:before {
  transition: all .5s;
}

nav ul li a:hover {
  color: #555;
}

nav.stroke ul li a,
nav.fill ul li a {
  position: relative;
}

nav.stroke ul li a:after,
nav.fill ul li a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 0%;
  content: '.';
  color: transparent;
  background: rgb(255, 255, 255);
  height: 1px;
}

nav.fill ul li a {
  transition: all 2s;
}

nav.fill ul li a:after {
  text-align: left;
  content: '.';
  margin: 0;
  opacity: 0;
}

nav.fill ul li a:hover {
  color: rgb(0, 0, 0);
  z-index: 1;
}

nav.fill ul li a:hover:after {
  z-index: -10;
  animation: fill 0.6s forwards;
  -webkit-animation: fill 0.6s forwards;
  -moz-animation: fill 0.6s forwards;
  opacity: 1;
}

.fill img {
  width: 80px;
  image-rendering: -moz-crisp-edges;
  /* Firefox */
  image-rendering: -o-crisp-edges;
  /* Opera */
  image-rendering: -webkit-optimize-contrast;
  /* Webkit (non-standard naming) */
  image-rendering: crisp-edges;
  -ms-interpolation-mode: nearest-neighbor;
  text-align: center;
}
<nav class="fill">
  <ul>
    <li><img src="https://i.imgur.com/bblqj5b.png" alt="SCP"></li>
    <li><a href="index.html">Home</a></li>
    <li><a href="wwd.html" target="blank_">What we do</a></li>
    <li><a href="#">Goal 1</a></li>
    <li><a href="#">Goal 2</a></li>
    <li><a href="lildicky.html">Earth by Lil Dicky</a></li>
  </ul>
</nav>

一个非常快速的没有 flexbox 的补丁是添加声明:vertical-align: middle; 到你的 nav ul li { } 规则

nav {
  background: rgb(255, 255, 255);
  padding: 10px;
  box-shadow: rgba(120, 126, 133, 0.2) 0px 8px 24px;
  padding: 2em;
  padding-bottom: 0.6em;
  padding-top: 0.6em;
}

nav ul {
  list-style: none;
  text-align: center;
  margin-top: 0px;
  padding-left: 0px;
  margin-bottom: 0px;
}

nav ul li {
  display: inline-block;
  vertical-align: middle;
}

nav ul li a {
  display: block;
  padding: 15px;
  padding-top: 10px;
  padding-bottom: 10px;
  text-decoration: none;
  color: rgb(0, 0, 0);
  font-weight: 800;
  text-transform: uppercase;
  margin: 0 10px;
}

nav ul li a,
nav ul li a:after,
nav ul li a:before {
  transition: all .5s;
}

nav ul li a:hover {
  color: #555;
}

nav.stroke ul li a,
nav.fill ul li a {
  position: relative;
}

nav.stroke ul li a:after,
nav.fill ul li a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 0%;
  content: '.';
  color: transparent;
  background: rgb(255, 255, 255);
  height: 1px;
}

nav.fill ul li a {
  transition: all 2s;
}

nav.fill ul li a:after {
  text-align: left;
  content: '.';
  margin: 0;
  opacity: 0;
}

nav.fill ul li a:hover {
  color: rgb(0, 0, 0);
  z-index: 1;
}

nav.fill ul li a:hover:after {
  z-index: -10;
  animation: fill 0.6s forwards;
  -webkit-animation: fill 0.6s forwards;
  -moz-animation: fill 0.6s forwards;
  opacity: 1;
}

.fill img {
  width: 80px;
  image-rendering: -moz-crisp-edges;
  /* Firefox */
  image-rendering: -o-crisp-edges;
  /* Opera */
  image-rendering: -webkit-optimize-contrast;
  /* Webkit (non-standard naming) */
  image-rendering: crisp-edges;
  -ms-interpolation-mode: nearest-neighbor;
  text-align: center;
}
<nav class="fill">
  <ul>
    <li><img src="https://i.imgur.com/bblqj5b.png" alt="SCP"></li>
    <li><a href="index.html">Home</a></li>
    <li><a href="wwd.html" target="blank_">What we do</a></li>
    <li><a href="#">Goal 1</a></li>
    <li><a href="#">Goal 2</a></li>
    <li><a href="lildicky.html">Earth by Lil Dicky</a></li>
  </ul>
</nav>