【问题标题】:why isn't there any space at the ends for child elements of this flexbox container?为什么这个 flexbox 容器的子元素末端没有空间?
【发布时间】:2022-01-17 19:17:15
【问题描述】:

我正在按照教程制作一个网站,在特定部分中,我们必须制作一个包含三个子元素的 flexbox 容器。我已经检查并重新检查了我的代码,它与视频相同,但 flex 容器的左右端没有任何空间。为什么不工作? (我在下面给出了 CSS 代码)

.row {
  margin-top: 5%;
  display: flex;
  justify-content: space-between;
}

.course-col {
  flex-basis: 31%;
  background: #fff3f3;
  border-radius: 10px;
  margin-bottom: 5%;
  padding: 20px 12px;
  box-sizing: border-box;
  transition: 0.5s;
}

/* this is the title of the child elements*/
 h3 {
  text-align: center;
  font-weight: 600;
  margin: 10px 0;
}

.course-col:hover {
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.2);
}

@media (max-width: 700px) {
  .row {
    flex-direction: column;
  }
}

这是 HTML 代码:

<!--  COURSES  !-->

    <section class="course">
      <h1>Courses We Offer</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
        <div class="row">
          <div class="course-col">
            <h3>Intermediate</h3>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
        </div>
        <div class="course-col">
          <h3>Degree</h3>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
        </div>
        <div class="course-col">
          <h3>Post Graduation</h3>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
        </div>
    </section>

【问题讨论】:

  • 你能添加你的html吗?
  • 好的,马上添加
  • 此外,您可以为容器添加边距
  • 好的,让我试试
  • 由于某种原因,添加边距没有任何作用

标签: html css flexbox


【解决方案1】:

只试试这个:

.row {
  margin-top: 5%;
  display: flex;
  justify-content: space-around;/* here */
}

还有:

@media (max-width: 700px) {
  .row {
    flex-direction: column;
    margin: auto 10px; /* here */
  }
}

【讨论】:

  • 尝试一下
  • @fatima_r24 div(.row) 未关闭!!修复它并尝试 justify-content: space-around;
  • 空间环绕工作,但是当我打开响应模式时,同样的问题发生了
  • @fatima_r24 谢谢:) 在这种情况下,在响应模式下:{flex-direction: column;边距:自动 10 像素;}
【解决方案2】:

*{
margin:10px;
}
.row {
  margin-top: 5%;
  display: flex;
  justify-content: space-between;
}

.course-col {
  flex-basis: 31%;
  background: #fff3f3;
  border-radius: 10px;
  margin-bottom: 5%;
  padding: 20px 12px;
  box-sizing: border-box;
  transition: 0.5s;
}

/* this is the title of the child elements*/
 h3 {
  text-align: center;
  font-weight: 600;
  margin: 10px 0;
}

.course-col:hover {
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.2);
}

@media (max-width: 700px) {
  .row {
    flex-direction: column;
  }
}
This is the HTML code :

<!--  COURSES  !-->
    <section class="course">
      <h1>Courses We Offer</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
        <div class="row">
          <div class="course-col">
            <h3>Intermediate</h3>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
        </div>
        <div class="course-col">
          <h3>Degree</h3>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
        </div>
        <div class="course-col">
          <h3>Post Graduation</h3>
          <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
        </div>
    </section>

【讨论】:

  • 用“*” CSS 选择器解决问题是个坏主意:它会影响您的所有代码,并且无助于了解哪些元素需要边距。
  • @See OX 你能推荐点什么吗?
  • 为什么不呢?该部分需要边距。它是容器。
  • @fatima_r24 我编辑了我的答案。
  • 我刚看到,试试看
猜你喜欢
  • 1970-01-01
  • 2020-03-28
  • 2013-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-26
  • 1970-01-01
相关资源
最近更新 更多