好吧,我正在学习flexbox,但是我不明白为什么我的导航标题在链接的上方。
HTML:
<style>
@import url(https://fonts.googleapis.com/css?family=Oswald:400,700);
.box {
display: flex;
}
.item {
width: 100px;
height: 100px;
background-color: red;
margin: auto;
color: #fff;
}
nav {
font-family: "Oswald", sans-serif;
display: flex;
min-width: 100%;
background-color: #181818;
}
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
max-width: 960px
}
nav a {
display: block;
padding: 1rem;
text-decoration: none;
color: #fff;
font-weight: 400;
transition: all 0.3s ease-in-out;
}
nav a:hover {
color: #343434;
}
.title {
margin: 0 35px 0 10px;
color: #1BC;
}
</style>
<nav>
<div class="container">
<a class="title">Architect</a>
<ul>
<li><a href="#">Getting Started</a></li>
<li><a href="#">Examples</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Forum</a></li>
</ul>
</div>
</nav>
容器CSS:
.container{
width: 100%;
margin: 0 auto:
max-width: 1200px;
}
代码笔链接:http://codepen.io/ZoidCraft/pen/XKMewy
我想标题“建筑师”是对齐的链接左侧。
发布于 2016-06-28 21:03:09
在css中将<a class="title">Architect</a>
设置为display: block;
。块级元素将占据它们自己的行。display: flex;
元素也将占据它们自己的行。
要解决您的问题,您可以首先从nav a
样式中删除该display: block;
。然后将您的nav ul
从display: flex;
更改为display: inline-flex;
。现在,您只需要向nav
添加一些填充,因为现在一切都是内联显示的,所以需要向nav
添加padding: 1em 0;
这是我所说的更新后的CodePen。
https://stackoverflow.com/questions/38086023
复制