我正在尝试创建一个导航栏,在左侧创建一个徽标,并在剩余空间居中显示链接。我遵循了这个线程中的说明:In CSS Flexbox, why are there no "justify-items" and "justify-self" properties?,并对ul使用了margin:auto;,以使其居中。到目前为止,这一切都运行得很好,但是当我在ul中添加margin或padding anywhere时,链接列表就会打包。我在ul上试用了box-sizing:border-box;,但没有成功。我该如何解决这个问题呢?小提琴:http://jsfiddle.net/30sy5dmy/5/
nav img {
height: 60px;
}
nav {
display: flex;
align-items: center;
justify-content: space-between;
}
.links {
margin: auto;
}
nav ul li {
display: inline-block;
list-style: none;
margin: 0 2%;
}<nav>
<img src="https://teststein.000webhostapp.com/Logo.png">
<ul class="links">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 2</a></li>
</ul>
</nav>
发布于 2017-10-30 06:12:43
只需将display: flex添加到links,然后,因为使用百分比作为flex项目的边距不会呈现相同的跨浏览器,所以使用例如视口单位。
nav img {
height: 60px;
}
nav {
display: flex;
align-items: center;
}
.links {
display: flex;
margin: auto;
}
nav ul li {
list-style: none;
margin: 0 2vw;
}<nav>
<img src="http://lorempixel.com/output/nature-q-c-60-60-1.jpg">
<ul class="links">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 2</a></li>
</ul>
</nav>
https://stackoverflow.com/questions/47005656
复制相似问题