导航栏未居中

时间:2018-07-25 15:10:34

标签: html css css3

我有一个页脚,我正在尝试将<nav>栏居中。

我使用了margin: 0 auto;,但是它不起作用。我知道我可以使用position: absoluterelative,但我不想使用它们。

footer {
  height: 300px;
  background-color: black;
  margin-top: 50px;
}

footer nav {
  width: 100%;
  display: inline-block;
  margin: 0 auto;
}

footer ul {
  clear: left;
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  left: 50%;
  text-align: center;
}

footer ul li {
  display: block;
  float: left;
  list-style: none;
  margin: 0;
  padding: 30px 20px;
  position: relative;
  right: 50%;
}

footer ul li a {
  color: white;
  font-size: 20px;
  text-transform: uppercase;
  text-decoration: none;
  font-family: 'Source Sans Pro', sans-serif;
}
<footer>
  <nav>
    <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">My Story</a></li>
      <li><a href="#">Listings</a></li>
      <li><a href="#">Contact Me</a></li>
    </ul>
  </nav>
</footer>

2 个答案:

答案 0 :(得分:2)

您那里确实有太多CSS ...

解决问题的重要一件事是不要在同一元素上使用display: inline-block和任何floatfloat防止居中)。

如果您在display: inline-block项上使用li,在其容器(text-align: center)上使用ul,则基本上可以解决此问题。

但是我也删除了很多不必要的原始CSS,请参见下面的代码段。

footer {
  height: 300px;
  background-color: black;
  margin-top: 50px;
}

footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}

footer ul li {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 30px 20px;
}

footer ul li a {
  color: white;
  font-size: 20px;
  text-transform: uppercase;
  text-decoration: none;
  font-family: 'Source Sans Pro', sans-serif;
}
<footer>
  <nav>
    <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">My Story</a></li>
      <li><a href="#">Listings</a></li>
      <li><a href="#">Contact Me</a></li>
    </ul>
  </nav>
</footer>

答案 1 :(得分:1)

使用Flex:

footer {
  background-color: black;
}

footer nav {
  height: 300px;
}

footer ul {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  list-style: none;
}

footer ul li {
  padding: 30px 20px;
}

footer ul li a {
  color: white;
  font-size: 20px;
  text-transform: uppercase;
  text-decoration: none;
  font-family: 'Source Sans Pro', sans-serif;
}