Flex导航未对齐

时间:2016-06-28 20:47:29

标签: html css flexbox

好的,所以我正在学习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;
}

Code Pen Link:http://codepen.io/ZoidCraft/pen/XKMewy

我希望标题“Architect”与链接的左侧对齐。

1 个答案:

答案 0 :(得分:0)

您在css中将<a class="title">Architect</a>设置为display: block;。块级元素将占用自己的行。 display: flex;元素也将占用自己的一行。

要解决您的问题,您可以先从display: block;样式中删除nav a。然后将nav uldisplay: flex;更改为display: inline-flex;。现在您只需要向nav添加一些填充,因为现在所有内容都显示为内嵌,因此请padding: 1em 0;添加nav

以下是我所谈论的更新CodePen