如何在 flex 容器中对齐元素中心?

时间:2021-05-13 05:09:18

标签: html css flexbox navbar

我想在 flexbox 中创建响应式导航栏。面临的问题是在容器中心对齐条。我在使用这些时尝试了 justify-content:center 和 text-align:center 我发现在导航栏没有在移动屏幕中完美对齐中心之前留下了一些空白请检查我的代码并帮助我!

HTML 文档

<!DOCTYPE html>
<html lang="en">

<head>
    <link href="https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:200,300,400,700" rel="stylesheet"
        type="text/css">
    <link rel="stylesheet" href="style.css" />
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <div class="box">
        <div>
            <nav>
                <ul>
                    <li>Home</li>
                    <li>Service</li>
                    <li>About</li>
                </ul>
            </nav>
        </div>
    </div>
</body>

</html>

CSS 样式

.box  ul{
  list-style: none;
  border: 1px solid;
  display: flex;
  justify-content: space-between;
}
.box li{
  border: 1px solid;
}

移动视图中响应式导航栏图像的屏幕截图:

Screen shot of responsive nav bar image in mobile view

桌面视图中响应式导航栏图像的屏幕截图:

Screen shot of responsive nav bar image in Desktop view

1 个答案:

答案 0 :(得分:0)

Home 之前的空格是因为 padding 中的 ul。您需要从 padding 中删除 ul

.box ul {
  list-style: none;
  border: 1px solid;
  display: flex;
  justify-content: space-between;
}

ul {
  padding: 0;
}

.box li {
  border: 1px solid;
}
<div class="box">
  <div>
    <nav>
      <ul>
        <li>Home</li>
        <li>Service</li>
        <li>About</li>
      </ul>
    </nav>
  </div>
</div>

相关问题