首页 > 解决方案 > 为什么 flexbox 项目没有看起来居中并且边框底部没有覆盖整个空间?

问题描述

我是网络开发的初学者,所以如果我的问题看起来很愚蠢,请原谅。

* {
  font-family: Arial, Helvetica, sans-serif;
}

html,
body {
  margin: 0;
  padding: 0;
}

.mainContainer {
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  background-color: lemonchiffon;
  align-items: center;
}

.heading {
  order: 2;
}

.nav-main {
  border-bottom: 1px solid red;
  order: 1;
}

.nav-main li {
  display: inline;
  margin: 5px;
}
<div class="mainContainer">
  <h1 class="heading">The Peace</h1>
  <nav class="nav-main">
    <ul>
      <li>Home</li>
      <li>About</li>
      <li>Contact</li>
    </ul>
  </nav>
</div>

编辑 我的第一个问题由以下代码解决,但下划线问题仍然保持不变。

.nav-main ul{
padding-left: 0;
}

标签: htmlcssflexbox

解决方案


将 .nav-main ul 填充设置为 0:

* {
font-family: Arial, Helvetica, sans-serif;
}

html,
body {
margin: 0;
padding: 0;
}

.mainContainer {
display: flex;
flex-direction: column;
border: 1px solid #ccc;
background-color: lemonchiffon;
align-items: center;
}

.heading {
order: 2;
}

.nav-main {
border-bottom: 1px solid red;
order: 1;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}

.nav-main ul {
  padding: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav-main li {
display: inline;
margin: 5px;
}
<body>
  <div class="mainContainer">
    <h1 class="heading">The Peace</h1>
    <nav class="nav-main">
      <ul>
        <li>Home</li>
        <li>About</li>
        <li>Contact</li>
      </ul>
    </nav>
  </div>
</body>


推荐阅读