【问题标题】:Flex-box: not aligning items as expectedFlex-box:未按预期对齐项目
【发布时间】:2021-10-13 22:27:09
【问题描述】:

我一直在创建一个站点,并注意到 flex-box justify-content 属性无效。这被设置为居中,但 flexbox 项目似乎在容器水平轴的开始处对齐。不太清楚为什么会这样。我已经列出了我使用的 css 和 HTML。任何建议都会非常有帮助!

/*General settings*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;1,300&display=swap');
* {
  font-family: 'Poppins', sans-serif;
  margin: 0;
}


/*nav settings*/

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #0077c2;
  width: 100%;
  padding: 2vw 0;
  flex-wrap: nowrap;
}

.nav-container ul {
  list-style: none;
  margin-right: 10vw;
}

.nav-container li {
  list-style: none;
  display: inline-block;
  margin-right: 1vw;
}

.logo {
  margin-left: 2vw;
  color: #fff;
}

.logo :hover {
  border: 3px #ff8000 solid;
  border-radius: 5px;
}

.nav-link {
  text-decoration: none;
  color: #fff;
}

.nav-link:hover {
  text-decoration: 3px underline #ff8000;
}


/*img section*/

.img-container {
  display: flex;
  justify-content: center;
  margin-top: 5vw;
  border: 2px #ff8000 solid;
  width: 80%;
  margin: 5vh auto;
  flex-direction: row;
}

.img-container img {
  width: 40%;
  margin: 0 auto;
}

.img-container p {
  font-size: 0.9rem;
}
<header>
  <div class="nav-container">

    <div class="logo">
      <h1>Development<br>One</h1>
    </div>

    <div>
      <ul>
        <li><a class="nav-link" href="#">Home</a></li>
        <li><a class="nav-link" href="#">Apple Development</a></li>
        <li><a class="nav-link" href="#">Android development</a></li>
        <li><a class="nav-link" href="#">About</a></li>
        <li><a class="nav-link" href="#">Contact us</a></li>
      </ul>
    </div>

  </div>
</header>

<section class="img-container">

  <div>
    <h2>Section One Title</h2>
    <img src="img/androiddevelopers.png" alt="app-development">
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sunt repellendus nemo eveniet sint. Consectetur error totam nulla ex alias dolorum minus nostrum. Ex est suscipit dolor dolores repellendus! Architecto, ducimus?</p>
  </div>
  
  <div>
    <h2>Section two Title</h2>
    <img src="img/androiddevelopers.png" alt="app-development">
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sunt repellendus nemo eveniet sint. Consectetur error totam nulla ex alias dolorum minus nostrum. Ex est suscipit dolor dolores repellendus! Architecto, ducimus?</p>
  </div>
  
  <div>
    <h2>Section three Title</h2>
    <img src="img/androiddevelopers.png" alt="app-development">
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sunt repellendus nemo eveniet sint. Consectetur error totam nulla ex alias dolorum minus nostrum. Ex est suscipit dolor dolores repellendus! Architecto, ducimus?</p>
  </div>
  
</section>

【问题讨论】:

  • 你想精确定位什么?您的示例代码中有多个弹性框。

标签: css flexbox


【解决方案1】:

justify-content: center.nav-container 工作。你只是没有认出,因为三个divs 填满了整个空间。

工作示例:宽度更小用于演示

/*General settings*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;1,300&display=swap');
* {
  font-family: 'Poppins', sans-serif;
  margin: 0;
}


/*nav settings*/

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #0077c2;
  width: 100%;
  padding: 2vw 0;
  flex-wrap: nowrap;
}

.nav-container ul {
  list-style: none;
  margin-right: 10vw;
}

.nav-container li {
  list-style: none;
  display: inline-block;
  margin-right: 1vw;
}

.logo {
  margin-left: 2vw;
  color: #fff;
}

.logo :hover {
  border: 3px #ff8000 solid;
  border-radius: 5px;
}

.nav-link {
  text-decoration: none;
  color: #fff;
}

.nav-link:hover {
  text-decoration: 3px underline #ff8000;
}


/*img section*/

.img-container {
  display: flex;
  justify-content: center;
  margin-top: 5vw;
  border: 2px #ff8000 solid;
  width: 80%;
  margin: 5vh auto;
  flex-direction: row;
}

.img-container div {
  width: 20%;
}

.img-container img {
  width: 40%;
  margin: 0 auto;
}

.img-container p {
  font-size: 0.9rem;
}
<header>
  <div class="nav-container">

    <div class="logo">
      <h1>Development<br>One</h1>
    </div>

    <div>
      <ul>
        <li><a class="nav-link" href="#">Home</a></li>
        <li><a class="nav-link" href="#">Apple Development</a></li>
        <li><a class="nav-link" href="#">Android development</a></li>
        <li><a class="nav-link" href="#">About</a></li>
        <li><a class="nav-link" href="#">Contact us</a></li>
      </ul>
    </div>

  </div>
</header>

<section class="img-container">

  <div>
    <h2>Section One Title</h2>
    <img src="img/androiddevelopers.png" alt="app-development">
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sunt repellendus nemo eveniet sint. Consectetur error totam nulla ex alias dolorum minus nostrum. Ex est suscipit dolor dolores repellendus! Architecto, ducimus?</p>
  </div>
  
  <div>
    <h2>Section two Title</h2>
    <img src="img/androiddevelopers.png" alt="app-development">
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sunt repellendus nemo eveniet sint. Consectetur error totam nulla ex alias dolorum minus nostrum. Ex est suscipit dolor dolores repellendus! Architecto, ducimus?</p>
  </div>
  
  <div>
    <h2>Section three Title</h2>
    <img src="img/androiddevelopers.png" alt="app-development">
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Sunt repellendus nemo eveniet sint. Consectetur error totam nulla ex alias dolorum minus nostrum. Ex est suscipit dolor dolores repellendus! Architecto, ducimus?</p>
  </div>
  
</section>

【讨论】:

  • 这很有帮助,非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
  • 2018-06-06
  • 1970-01-01
  • 2016-11-19
  • 2018-09-23
相关资源
最近更新 更多