如何居中导航链接

时间:2019-05-02 05:06:28

标签: html css nav

尝试将这些导航链接平均分布,并使其居中。我设法使ul位于页面中间,但是我不确定如何使链接居中。

我猜这是我需要更改的东西,但不确定是什么。

ul {
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background-color: #333;
  width: 50%;
}

li {
  float: left;
  padding-left: 50px;
}

li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

a:hover {
  background-color: red;
  text-decoration: underline;
}
<nav>
	<ul>
		<li><a href="#">Home</a></li>
		<li><a href="#">About</a></li>
		<li><a href="#">Store</a></li>
		<li><a href="#">Contact</a></li>
	</ul>
</nav>

6 个答案:

答案 0 :(得分:2)

尝试使用flex,您也可以添加其他想要的东西,例如列表样式和背景颜色。 看看这个link的家族,它将改变您的生活。

ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }

答案 1 :(得分:1)

两列视图

ul {
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background-color: #333;
  width: 50%;

  /* add display flex */
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
}

li {
  width:50%; /*if you want in one row then 100%/4 = 25% */
  float: center;
  padding-left: 0;
}

奖金: 更改text-decoration上CSS中的li a使其生效

text-decoration: none !important;

答案 2 :(得分:1)

使用grid轻松执行此操作。这是fiddle

ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

答案 3 :(得分:0)

您无需进行太多更改,只需删除此内容即可:

li {
  float: left;
  padding-left: 50px;
}

答案 4 :(得分:0)

<nav id="nav_tag">
   <ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Store</a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</nav>

#nav_tag{
         text-align:center;
         margin-left:{appropriate amount}%;
        }

答案 5 :(得分:-2)

请在CSS下方尝试:

ul {
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background-color: #333;
  width: 50%;
  display: flex;
flex-wrap: wrap;
        justify-content: center;
}

li {
  float: left;
  padding-left: 25px;
  padding-right: 25px;
}

li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

a:hover {
  background-color: red;
  text-decoration: underline;
}
<nav>
		<ul>
			<li><a href="#">Home</a></li>
			<li><a href="#">About</a></li>
			<li><a href="#">Store</a></li>
			<li><a href="#">Contact</a></li>
		</ul>
	</nav>