我试图使用CSS中的网格布局将三个框放在一个div(容器)中。只有一排。Box 1靠近左侧,box3靠近右侧,box2位于中间。所有的箱子都应该垂直在中间。
html - 如何证明CSS网格布局中的三列?-LMLPHP
这是我的代码,但我不能按我描述的那样做。

.statusBar{
  border: 1px solid #999;
  display: grid;
  grid-template-columns: 50px 1fr 50px 1fr 50px;
  grid-column-gap: auto;
}
.statusBar > div{
  border: 1px solid #000;
}

  <div class='statusBar'>
    <div>1</div>
    <div>2</div>
    <div>3</div>
  </div>

最好是每个小盒子的大小都是自动填充的,并且盒子不应该粘在边缘上。例如10px空间。
我怎样才能成功?

最佳答案

做你想做的很简单:你应该使用Flexbox而不是网格布局。要开始使用Flexbox模型,首先需要定义flex容器。
示例:space around值显示在行前、行间和行后具有空格的flex项:

.flex-container {
  display: flex;
  justify-content: space-around;
}

查看以下示例:
.flex-container {
  display: flex;
  justify-content: space-around;
  background-color: DodgerBlue;
}

.flex-container > div {
  background-color: #f1f1f1;
  width: 100px;
  margin: 10px;
  text-align: center;
  line-height: 75px;
  font-size: 30px;
}

<!DOCTYPE html>
<html>
<head>

</head>
<body>
<h1>The justify-content Property</h1>

<p>The "justify-content: space-around;" displays the flex items with space before, between, and after the lines:</p>

<div class="flex-container">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

</body>
</html>

来源:https://www.w3schools.com/css/css3_flexbox.asp

10-04 19:21