如何让这些导航项目居中?
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>
您可以将 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>
这是不言而喻的,但我对编码还很陌生(你可能会说)。
我在尝试将这些列表项置于导航栏中心时遇到问题。
这里是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>
您可以将 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>