如何让这些导航项目居中?

How do I get these nav items to center?

这是不言而喻的,但我对编码还很陌生(你可能会说)。

我在尝试将这些列表项置于导航栏中心时遇到问题。

这里是HTML

#nav {
     padding: 0px;
     width: 100%;
     background-color: #e69ae3;
    }
ul {
     list-style-type: none;
     margin: 0px;
     padding: 0px;
     overflow: hidden;
    }
li {
     float: left;
    }
 li a { 
     display: block;
     text-align: center;
     padding: 14px 16px;
     text-decoration: none;
     color: #9d3099
    }
li a:hover {
     background-color: #febdfb;
     color: black;
    }
    <div id="nav">
     <ul>
      <li><a href="index.html">Home</a></li>
      <li><a href="about.html">About</a></li>
      <li><a href="pack.html">Packages</a></li>
      <li><a href="book.html">Book</a></li>
      <li><a href="cont.html">Contact</a></li>
     </ul>
    </div>


 

li 中删除 float 属性 并将 ul 显示为弹性容器,使内容居中对齐。

#nav {
  padding: 0px;
  width: 100%;
  background-color: #e69ae3;
}

ul {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
  overflow: hidden;
  display: flex;            /* Added */
  justify-content: center;  /* Added */
}

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

li a:hover {
  background-color: #febdfb;
  color: black;
}
<div id="nav">
  <ul>
    <li><a href="index.html">Home</a></li>
    <li><a href="about.html">About</a></li>
    <li><a href="pack.html">Packages</a></li>
    <li><a href="book.html">Book</a></li>
    <li><a href="cont.html">Contact</a></li>
  </ul>
</div>

http://jsfiddle.net/w8gmzrop/

您可以将 CSS 中的元素居中,方法是将其宽度设置为 50% 并将边距设置为自动。为此,我建议创建一个中心 class 并将其应用到标签中。

然后您可以将 class 添加到标签中,如下所示:

<ul class="center">

总而言之,完整的代码集如下所示:

 #nav {
  padding: 0px;
  width: 100%;
  background-color: #e69ae3;
}
ul {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
  overflow: hidden;
}
li {
  float: left;
}
li a { 
  display: block;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  color: #9d3099
}
li a:hover {
  background-color: #febdfb;
  color: black;
}
.center {
  margin: auto;
  width: 50%;
}
<div id="nav">
        <ul class="center">
            <li><a href="index.html">Home</a></li>
            <li><a href="about.html">About</a></li>
            <li><a href="pack.html">Packages</a></li>
            <li><a href="book.html">Book</a></li>
            <li><a href="cont.html">Contact</a></li>
        </ul>
    </div>

  

你是说这样?

只有 2 个变化 text-align: center;display: inline-block;

#nav {
    padding: 0px;
    width: 100%;
    background-color: #e69ae3;
    text-align: center;
}
ul {
    list-style-type: none;
    margin: 0px;
    padding: 0px;
    overflow: hidden;
    display: inline-block;
}
li {
    float: left;
}
li a { 
    display: block;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    color: #9d3099
}
li a:hover {
    background-color: #febdfb;
    color: black;
}
<div id="nav">
    <ul>
        <li><a href="index.html">Home</a></li>
        <li><a href="about.html">About</a></li>
        <li><a href="pack.html">Packages</a></li>
        <li><a href="book.html">Book</a></li>
        <li><a href="cont.html">Contact</a></li>
    </ul>
</div>

您必须将 flex 属性赋予 #nav id display: flex;justify-content:中心;

#nav {
     padding: 0px;
     width: 100%;
     background-color: #e69ae3;
        display: flex;
        justify-content: center;
    }
    ul {
     list-style-type: none;
     margin: 0px;
     padding: 0px;
     overflow: hidden;
    }
    li {
     float: left;
    }
    li a { 
     display: block;
     text-align: center;
     padding: 14px 16px;
     text-decoration: none;
     color: #9d3099
    }
    li a:hover {
     background-color: #febdfb;
     color: black;
    }
<div id="nav">
  <ul>
    <li><a href="index.html">Home</a></li>
    <li><a href="about.html">About</a></li>
    <li><a href="pack.html">Packages</a></li>
    <li><a href="book.html">Book</a></li>
    <li><a href="cont.html">Contact</a></li>
  </ul>
</div>