请看一下我的代码,单击“运行”按钮以查看结果:
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>
我想要实现的是在这里显示:
但是我只是无法使其工作。我希望当用户更改页面宽度时,白色项目之间的间隙将保持固定,
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>
以整页模式查看,以在您的图像中获得设计。