html - Flex 导航未对齐

标签 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;
}

代码笔链接:http://codepen.io/ZoidCraft/pen/XKMewy

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

最佳答案

你设置<a class="title">Architect</a>display: block;在你的CSS中。 block 级元素将占据自己的行。 display: flex;元素也将占据自己的行。

要解决您的问题,您可以先删除 display: block;来自你的 nav a风格。然后更改您的 nav ul来自 display: flex;display: inline-flex; .现在您只需要将一些填充添加回您的 nav因为现在所有内容都是内联显示,所以添加 padding: 1em 0;给你的nav

这是更新的 CodePen我正在谈论的内容。

关于html - Flex 导航未对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38086023/

相关文章:

css - 如何增加过滤器菜单中文本框的大小

HTML CSS响应浏览器大小的变化位置

css - 桌面 1024 与 iPad 的媒体查询

javascript - 如何在 CSS 中的两种字体之间使用字距调整?

html - 使用按钮 onclick 固定事件

javascript - Atom Editor Javascript - 无效或意外的标记

javascript - 当我使用 ng-repeat 并在 HTML 中调用该函数时,JSON 数组值未传递到 HTML 表单

html - CSS - 两个 flex 列

html - 如何使用 flexbox 使我的顶部 block 占用额外的空白空间

jquery - 我怎样才能做到这一点?更喜欢使用常规的 html 和 css