CSS3导航未对齐

时间:2016-04-28 07:19:14

标签: css3

我已经研究过这个主题并注意到我并不是唯一一个有这个问题的人;然而,在其他人身上找到的具有相同问题的答案并没有解决任何问题。我设置了特定于导航的链接,设置了导航和导航'将相对位置,边距设置为0,将文本对齐到中心,将veritcal对齐到中间,但似乎无法使其居中。



nav {
  margin: auto;
  margin-bottom: 10px;
  max-width: 35%;
  height: 45px;
}
nav a {
  position: relative;
  padding: 0px 15px;
  margin: 4px 0px;
  font-size: 25px;
  text-decoration: none;
  color: #ECF0F1;
  border: 1px solid black;
}

<nav>
  <a href="#">Home</a><a href="#">Team</a><a href="#">About</a><a href="#">Files</a><a href="#">Forum</a>
</nav>
&#13;
&#13;
&#13;

略微编辑;为什么悬停不会覆盖导航的整个长度?我只需要调整顶部和底部填充吗?

Layout

Hover Result

3 个答案:

答案 0 :(得分:1)

解决方案#1(使用flexbox /更新的浏览器):

&#13;
&#13;
nav {
  display:flex;
  flex-direction:row;
  margin: auto;
  margin-bottom: 10px;
  height: 45px;
  justify-content:center;
}
nav a {
  position: relative;
  padding:0px 15px;
  margin: 4px 0px;
  font-size: 25px;
  text-decoration: none;
  color: #ECF0F1;
}
&#13;
<nav>
  <a href="#">Home</a>
  <a href="#">Team</a>
  <a href="#">About</a>
  <a href="#">Files</a>
  <a href="#">Forum</a>
</nav>
&#13;
&#13;
&#13;

解决方案#2(对于旧版浏览器):

&#13;
&#13;
nav {
  margin-bottom:10px;
  height:45px;
  text-align:center;
}
nav a {
  display:inline;
  padding:0px 15px;
  margin: 4px 0px;
  font-size: 25px;
  text-decoration:none;
  color:#ECF0F1;
}
&#13;
<nav>
  <a href="#">Home</a>
  <a href="#">Team</a>
  <a href="#">About</a>
  <a href="#">Files</a>
  <a href="#">Forum</a>
</nav>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

编辑代码

nav{
    margin: auto;
    margin-bottom: 10px;
    text-align:center;
    height: 45px;
}

答案 2 :(得分:0)

您可以使用列表作为导航标记

HTML:

<nav>
  <ul>
    <li>
      <a href="#">Home</a>
    </li>
    <li><a href="#">Team</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Files</a></li>
    <li><a href="#">Forum</a></li>
  </ul>
</nav>

CSS:

nav {
  vertical-align: middle;
  margin: auto;
  margin-bottom: 10px;
  max-width: 35%;
  height: 45px;
}

nav li {
  display: inline-block;
  position: relative;
  padding: 0px 15px;
  margin: 4px 0px;
}

nav li a {
  font-size: 25px;
  text-decoration: none;
  color: #ECF0F1;
}