请看一下我的代码,单击“运行”按钮以查看结果:

https://www.w3schools.com/code/tryit.asp?filename=FG1HLL1GNU7B



.outsideDiv {
  background-color: green;
  margin: auto;
  width: 50%;
  border: 1px solid black;
  text-align: center;
  padding: 10px;
}
.insideDiv {
  background-color: yellow;
  margin: 10px;
  padding: 10px;
  display: inline-block;
  border: 1px solid black;
}
.shortItem {
  background-color: white;
  display: block;
  color: black;
  text-align: center;
  padding: 7px 17px;
  text-decoration: none;
  float: right;
  margin: 10px;
  border: 1px solid black;
  height: 30px;
  width: 120px;
}

<div class="outsideDiv">
  <div class="insideDiv">
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
  </div>
</div>





我想要实现的是在这里显示:

html - 更改页面宽度时如何保持固定的间距?-LMLPHP

但是我只是无法使其工作。我希望当用户更改页面宽度时,白色项目之间的间隙将保持固定,20px,并且最左边和最右边的项目与黄色div边框之间的间隙将恰好是20px

我怎样才能做到这一点?

(您可以更改我的代码,使用上方菜单将其保存,然后在此处提供固定代码的链接)

谢谢!

最佳答案

使用display: flex保存有关放置.innerDiv及其子级的一些计算:



.outsideDiv {
  display: flex;
  justify-content: center;
  align-content: center;
  background-color: green;
  margin: auto;
  width: 50%;
  border: 1px solid black;
  padding: 10px 0;
}
.insideDiv {
  background-color: yellow;
  border: 1px solid black;
  max-width: 90%;
}
.shortItem {
  background-color: white;
  display: inline-block;
  color: black;
  text-align: center;
  padding: 7px 17px;
  margin: 10px 0 10px 20px;
  text-decoration: none;
  border: 1px solid black;
  height: 30px;
  width: 120px;
}

<div class="outsideDiv">
  <div class="insideDiv">
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
  </div>
</div>





以整页模式查看,以在您的图像中获得设计。

10-07 12:12