gpt4 book ai didi

css - 使用 CSS,您能否使 dom 节点内的元素在水平*和*垂直间隔均匀?

转载 作者:行者123 更新时间:2023-11-28 10:13:49 27 4
gpt4 key购买 nike

如果我有这样的 html:

<div id="a">
<div>a</div>
<div>b</div>
<div>c</div>
<div>d</div>
<div>e</div>
<div>f</div>
<div>g</div>
<div>h</div>
<div>i</div>
</div>

我知道我可以使用 flex 框、justify-content: space-aroundflex-wrap:wrap。但我想知道,是否有可能只使用 css 来让元素自己间隔开,以便元素在垂直 水平方向展开,就像在绿色图像中它会尝试放置相同的数字每行/行中的元素(只要它们的尺寸都相同)?

我对这样一种情况很感兴趣,即您事先不知道主 div #a 中有多少元素,而且您也不知道它们的宽度。

enter image description here

这是红盒版本的 js-fiddle:https://jsfiddle.net/p0Lahgbj/

最佳答案

使用 CSS vw单位:

#a {
border: 1px solid gray;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
width: 450px;
}
#a > div {
border: 1px solid red;
width: 100vw;
max-width: 33%; /* to have 3 columns */
box-sizing: border-box;
}
<div id="a">
<div>a</div>
<div>b</div>
<div>c</div>
<div>d</div>
<div>e</div>
<div>f</div>
<div>g</div>
<div>h</div>
<div>i</div>
</div>

9盒:

[---] [---] [---]
[---] [---] [---]
[---] [---] [---]

10盒:

[---] [---] [---]
[---] [---] [---]
[---]

11盒:

[---] [---] [---]
[---] [---] [---]
[---] [---]

等...

JsFiddle 9 盒

JsFiddle 10 盒

JsFiddle 11 盒

关于css - 使用 CSS,您能否使 dom 节点内的元素在水平*和*垂直间隔均匀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35840118/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com