首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CSS flex布局:添加填充或页边距时换行

CSS flex布局:添加填充或页边距时换行
EN

Stack Overflow用户
提问于 2017-10-30 05:57:19
回答 2查看 2.3K关注 0票数 1

我正在尝试创建一个导航栏,在左侧创建一个徽标,并在剩余空间居中显示链接。我遵循了这个线程中的说明:In CSS Flexbox, why are there no "justify-items" and "justify-self" properties?,并对ul使用了margin:auto;,以使其居中。到目前为止,这一切都运行得很好,但是当我在ul中添加marginpadding anywhere时,链接列表就会打包。我在ul上试用了box-sizing:border-box;,但没有成功。我该如何解决这个问题呢?小提琴:http://jsfiddle.net/30sy5dmy/5/

代码语言:javascript
运行
复制
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%;
}
代码语言:javascript
运行
复制
<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>

EN

Stack Overflow用户

发布于 2017-10-30 06:12:43

只需将display: flex添加到links,然后,因为使用百分比作为flex项目的边距不会呈现相同的跨浏览器,所以使用例如视口单位。

代码语言:javascript
运行
复制
nav img {
  height: 60px;
}
nav {
  display: flex;
  align-items: center;
}
.links {
  display: flex;
  margin: auto;
}
nav ul li {
  list-style: none;
  margin: 0 2vw;
}
代码语言:javascript
运行
复制
<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>

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47005656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档