使用 CSS 在 flexbox 中水平居中文本?
Center text horizontally within flexbox using CSS?
我正在尝试为网站制作导航栏。我正在尝试将 link 文本在 div 中水平居中。 text-align: center;
没有成功,align-items: center;
和 justify-content: center;
也没有。有什么建议吗?
#nav {
display: flex;
flex-direction: row rtl;
border-top: 3px dotted #594027;
border-bottom: 3px dotted #594027;
width: 100%;
align-items: center;
justify-content: center;
}
.navbox {
flex-wrap: wrap;
background-color: #594027;
width: 125px;
margin: 5px;
padding: 5px;
}
.navbox a {
display: inline-block;
color: white;
padding: 3px;
margin-right: auto;
margin-left: auto;
text-decoration: none;
}
<div id="nav">
<div class="navbox">
<a href="index.html">Home</a>
</div>
<div class="navbox">
<a href="resume.html">Resumé</a>
</div>
<div class="navbox">
<a href="coursework.html">Coursework</a>
</div>
<div class="navbox">
<a href="accomplishments.html">Accomplishments</a>
</div>
<div class="navbox">
<a href="experience.html">Experience</a>
</div>
<div class="navbox">
<a href="blog.html">Blog</a>
</div>
</div><!--nav->
您可以控制来自父级的文本,为此您需要将 text-align:center
添加到 #nav
#nav {
display: flex;
flex-direction: row rtl;
border-top: 3px dotted #594027;
border-bottom: 3px dotted #594027;
width: 100%;
align-items: center;
justify-content: center;
/* Add text-align to Parent */
text-align:center;
}
.navbox {
flex-wrap: wrap;
background-color: #594027;
width: 125px;
margin: 5px;
padding: 5px;
}
.navbox a {
display: inline-block;
color: white;
padding: 3px;
margin-right: auto;
margin-left: auto;
text-decoration: none;
}
<div id="nav">
<div class="navbox">
<a href="index.html">Home</a>
</div>
<div class="navbox">
<a href="resume.html">Resumé</a>
</div>
<div class="navbox">
<a href="coursework.html">Coursework</a>
</div>
<div class="navbox">
<a href="accomplishments.html">Accomplishments</a>
</div>
<div class="navbox">
<a href="experience.html">Experience</a>
</div>
<div class="navbox">
<a href="blog.html">Blog</a>
</div>
</div><!--nav->
我正在尝试为网站制作导航栏。我正在尝试将 link 文本在 div 中水平居中。 text-align: center;
没有成功,align-items: center;
和 justify-content: center;
也没有。有什么建议吗?
#nav {
display: flex;
flex-direction: row rtl;
border-top: 3px dotted #594027;
border-bottom: 3px dotted #594027;
width: 100%;
align-items: center;
justify-content: center;
}
.navbox {
flex-wrap: wrap;
background-color: #594027;
width: 125px;
margin: 5px;
padding: 5px;
}
.navbox a {
display: inline-block;
color: white;
padding: 3px;
margin-right: auto;
margin-left: auto;
text-decoration: none;
}
<div id="nav">
<div class="navbox">
<a href="index.html">Home</a>
</div>
<div class="navbox">
<a href="resume.html">Resumé</a>
</div>
<div class="navbox">
<a href="coursework.html">Coursework</a>
</div>
<div class="navbox">
<a href="accomplishments.html">Accomplishments</a>
</div>
<div class="navbox">
<a href="experience.html">Experience</a>
</div>
<div class="navbox">
<a href="blog.html">Blog</a>
</div>
</div><!--nav->
您可以控制来自父级的文本,为此您需要将 text-align:center
添加到 #nav
#nav {
display: flex;
flex-direction: row rtl;
border-top: 3px dotted #594027;
border-bottom: 3px dotted #594027;
width: 100%;
align-items: center;
justify-content: center;
/* Add text-align to Parent */
text-align:center;
}
.navbox {
flex-wrap: wrap;
background-color: #594027;
width: 125px;
margin: 5px;
padding: 5px;
}
.navbox a {
display: inline-block;
color: white;
padding: 3px;
margin-right: auto;
margin-left: auto;
text-decoration: none;
}
<div id="nav">
<div class="navbox">
<a href="index.html">Home</a>
</div>
<div class="navbox">
<a href="resume.html">Resumé</a>
</div>
<div class="navbox">
<a href="coursework.html">Coursework</a>
</div>
<div class="navbox">
<a href="accomplishments.html">Accomplishments</a>
</div>
<div class="navbox">
<a href="experience.html">Experience</a>
</div>
<div class="navbox">
<a href="blog.html">Blog</a>
</div>
</div><!--nav->