我似乎无法在导航菜单中将文本居中。
下面是代码段。
ul {
list-style-type: none;
margin: 0 auto;
padding: 0;
overflow: hidden;
background-color: black;
text-align: center;
}
li {
float: left;
display: inline-block;
}
li a {
display: block;
color: #FDE635;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover:not(.active) {
background-color: black;
}
.active {
background-color: white;
color: black;
}
<ul>
<li><a class="active" href="#home">Home</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#download">Download</a></li>
</ul>
当我希望它们居中时,菜单栏中的所有文本都左对齐。任何帮助表示赞赏!
答案 0 :(得分:0)
结合arieljuod的注释,您所需要的只是一个容器,该容器将列表居中,可以使用flexbox轻松完成。
.d-flex {
display: flex;
}
.flex-center {
justify-content: center;
align-items: center;
}
.nav > ul {
list-style: none;
}
.nav > ul > li {
display: inline-block;
padding: 20px;
}
.nav > ul > li a {
text-decoration: none;
color: black;
}
<div class="nav d-flex flex-center">
<ul>
<li><a href="#">Nav Link</a></li>
<li><a href="#">Nav Link</a></li>
<li><a href="#">Nav Link</a></li>
<li><a href="#">Nav Link</a></li>
</ul>
</div>
另外,这是pen:)
答案 1 :(得分:0)
从float:left
中删除li
,菜单将居中
ul {
list-style-type: none;
margin: 0 auto;
padding: 0;
overflow: hidden;
background-color: black;
text-align: center;
}
li {
display: inline-block;
}
li a {
display: block;
color: #FDE635;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover:not(.active) {
background-color: black;
}
.active {
background-color: white;
color: black;
}
<ul>
<li><a class="active" href="#home">Home</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#download">Download</a></li>
</ul>
答案 2 :(得分:0)
只需尝试将一些css-flex属性添加到您的列表中即可:
ul {
display: flex;
justify-content: center;
flex-wrap: wrap;
}