当前位置: 首页 > 知识库问答 >
问题:

将FlexBoxed Divs放在一起

贺卜霸
2023-03-14

我曾经遇到过这样的问题:如果一个元素比其他元素大,那么它就会创造出一个巨大的空间,这对于我正在制作的网站来说是非常违反直觉的,因为新的内容会经常被添加。

我做了一些研究,发现我应该使用flexbox将项目对齐在彼此的顶部,所以不管元素有多大,它永远不会做浮动元素做的事情。一开始效果很好,但后来我遇到了无法将这些元素相邻放置的问题。我基本上是在寻找一种方法,使这些div相互浮动,但我已经实现的flexbox命令仍然有效。如果我使用display:Inline,它看起来已经起作用了,但是div是水平的,而不是垂直的。我将在下面向您展示示例代码:

null

  .container {
  width: 80%;
  margin: 5% 10% 5% 8%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.item {
  width: 29%;
  border: 10px solid #edb809;
  float: left;
  background-color: #ffffff;
  margin-bottom: 5%;
  min-height: 30%;
<div class="container">
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
</div>
<div class="container">
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
</div>
<div class="container">
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
  <div class="item" style="margin-left: 2%;">
    <p> test </p>
  </div>
</div>

null

共有1个答案

有德业
2023-03-14

我意识到您希望从容器中水平地并排,所以我认为您需要这样的东西:

null

.wrapper {
  display: flex;
}

.container {
  flex: 1;
  margin: 5% 10% 5% 8%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.item {
  border: 10px solid #edb809;
  background-color: #ffffff;
  margin-bottom: 5%;
  min-height: 30%;
}
<div class="wrapper">
  <div class="container">
    <div class="item" style="margin-left: 2%;">
      <p> test1 </p>
    </div>
    <div class="item" style="margin-left: 2%;">
      <p> test1 </p>
    </div>
    <div class="item" style="margin-left: 2%;">
      <p> test1 </p>
    </div>
  </div>
  <div class="container">
    <div class="item" style="margin-left: 2%;">
      <p> test2 </p>
    </div>
    <div class="item" style="margin-left: 2%;">
      <p> test2 </p>
    </div>
    <div class="item" style="margin-left: 2%;">
      <p> test2 </p>
    </div>
  </div>
  <div class="container">
    <div class="item" style="margin-left: 2%;">
      <p> test3 </p>
    </div>
    <div class="item" style="margin-left: 2%;">
      <p> test </p>
    </div>
    <div class="item" style="margin-left: 2%;">
      <p> test3 </p>
    </div>
  </div>
</div>
 类似资料:
  • 这是一个由之前的代码片段组合在一起的源程序文件。 千万不要忘了将 freemarker.jar 放到 CLASSPATH 中。 import freemarker.template.*; import java.util.*; import java.io.*; public class Test { public static void main(String[] args) thr

  • 在这个组件中,我在顶部有一个图像,然后在底部有两个其他组件(在内部),它们显示为不同的行。我想把另外两个项目(一个网格和一个图表)放在单行中,我已经尝试过使用flex direction,但它似乎对我不起作用。这可能是因为我已经在父组件中使用了。 ItemsContainer: 我如何修复这一点,使网格出现在左边,图表出现在右边,但在同一行/行? 下面是ItemContainer内部两个主要子组件

  • 我已经阅读了下面的链接,但没有回答我的问题 Python是否有三元条件运算符?(问题是关于将if-else语句压缩到一行) 是否有一种更简单的方法来编写if-elif-else语句,使其适合一行<例如, 或者是一个真实的例子: 我只是觉得如果上面的例子可以用下面的方式写,它看起来会更简洁。

  • 16.7. 全部放在一起 你已经学习了足够的知识,现在来分析本章范例代码的前七行:读取一个目录并从中导入选定的模块。 例 16.16. regressionTest 函数 def regressionTest(): path = os.path.abspath(os.path.dirname(sys.argv[0])) files = os.listdir(path)

  • 11.9. 全部放在一起 你已经看到了构造一个职能的 HTTP web 客户的所有片断。 现在让我们看看如何将它们整合到一起。 例 11.17. openanything 函数 这个函数定义在 openanything.py 中。 def openAnything(source, etag=None, lastmodified=None, agent=USER_AGENT): # non

  • 10.7. 全部放在一起 你已经了解很多基础的东西。让我们回来看看所有片段是如何整合到一起的。 作为开始,这里是一个接收命令行参数的脚本,它使用 getopt 模块。 def main(argv): ... try: opts, args = getopt.g