CSS中心div两对div的子级

CSS中心div两对div的子级,css,Css,我回来问另一个可能是蹩脚的CSS问题 所以我有一个container div,其中有两个成对的div,每个div都有两个以上的div。我想用它们之间相等的空间来证明所有四个 我现在所拥有的: html: JSFiddle: 我想做的是: 了解CSS的人,请帮助。我建议使用display:flex而不是display:inline block来实现这一点 将容器设置为弹性框将自动将内容移动到一行中弹性方向:行将使此行成为行,弹性方向:列将使其成为列。使用justify content:space

我回来问另一个可能是蹩脚的CSS问题

所以我有一个container div,其中有两个成对的div,每个div都有两个以上的div。我想用它们之间相等的空间来证明所有四个

我现在所拥有的:

html:

JSFiddle:

我想做的是:


了解CSS的人,请帮助。

我建议使用
display:flex
而不是
display:inline block
来实现这一点

将容器设置为弹性框将自动将内容移动到一行中<代码>弹性方向:行将使此行成为行,
弹性方向:列
将使其成为列。使用
justify content:space around
使容器框在其所有子容器周围均匀分布空间

要在浏览器收缩时使第一行容器包裹,请为这些框指定“最小宽度”属性,并为其包裹元素
flex wrap:wrap
,如下所示:

.container{
宽度:100%;
高度:自动;
背景颜色:蓝色;
填充:2px;
显示器:flex;
证明内容:周围的空间;
柔性包装:包装;
}
.container>div{
显示器:flex;
证明内容:周围的空间;
宽度:49.5%;
高度:200px;
最小宽度:400px;
}
.带容器的桶>分区{
背景颜色:绿色;
宽度:50px;
身高:90%;
}

我建议使用
display:flex
而不是
display:inline block
执行此操作

将容器设置为弹性框将自动将内容移动到一行中<代码>弹性方向:行将使此行成为行,
弹性方向:列
将使其成为列。使用
justify content:space around
使容器框在其所有子容器周围均匀分布空间

要在浏览器收缩时使第一行容器包裹,请为这些框指定“最小宽度”属性,并为其包裹元素
flex wrap:wrap
,如下所示:

.container{
宽度:100%;
高度:自动;
背景颜色:蓝色;
填充:2px;
显示器:flex;
证明内容:周围的空间;
柔性包装:包装;
}
.container>div{
显示器:flex;
证明内容:周围的空间;
宽度:49.5%;
高度:200px;
最小宽度:400px;
}
.带容器的桶>分区{
背景颜色:绿色;
宽度:50px;
身高:90%;
}

这是我根据前面提出的类似问题草拟的解决方案

我想出了一个解决办法

HTML修订版: 我对您的HTML进行了一点重新构造,希望能让您更容易理解:

<div class="container" id="outer">
    <div class="inner yellow" id="inner1">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner2">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner3">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner4">
        <div class="inner green"></div>
    </div>
</div>

这里有更多关于CSS技巧的信息

我根据前面提出的一个类似问题起草了一个解决方案

我想出了一个解决办法

HTML修订版: 我对您的HTML进行了一点重新构造,希望能让您更容易理解:

<div class="container" id="outer">
    <div class="inner yellow" id="inner1">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner2">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner3">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner4">
        <div class="inner green"></div>
    </div>
</div>

这里有一些关于CSS技巧的更多信息

您应该摆脱成对容器,让容器显示:flex;弯曲方向:行;flex-wrap:wrap'然后子容器将是'flex-grow:1',然后是子容器(div:not(:first-child):not(:last-child))'左边距:10px;右边距:10px;)我需要一对容器,这样当窗口太小,无法容纳所有4个时,里面的div将下降2乘2。问题是专门针对成对使用的:)您应该去掉成对容器,并使容器显示:flex;弯曲方向:行;flex-wrap:wrap'然后子容器将是'flex-grow:1',然后是子容器(div:not(:first-child):not(:last-child))'左边距:10px;右边距:10px;)我需要一对容器,这样当窗口太小,无法容纳所有4个时,里面的div将下降2乘2。问题是让他们两人一组:)左/右边缘和第一个绿色孩子之间的空间比两个孩子之间的空间要大。我花了几个小时拼命地尝试随机(对我来说)的东西是合情合理的。“display:flex”马上就做到了。我将阅读CSS中的显示和浮动属性,因为我不知道它们是如何工作的。非常感谢^-^@Neekoy不客气!很高兴这有帮助。我用更多的信息更新了我的答案,以帮助您在重新调整大小的浏览器上堆叠盒子。@DylanStark哦,不,我说得太快了-现在缩小窗口时,它们不会成对折叠。它使两个对保持在同一行上,即使它低于它们的宽度:(@Neekoy-hmmm在我的浏览器中,当窗口变得足够小时,“容器”就会将“pairsWithinContainer”一个一个地叠在另一个上面框不能包含它们的
min-width
属性。我只是将min-width设置为一个更大的值,以使其更可见。左/右边缘和第一个绿色子对象之间的空间比子对象之间的空间大。我花了几个小时拼命尝试随机(对我来说)内容。“显示:flex”马上就做了。我将阅读CSS中的显示和浮动属性,因为我不知道它们是如何工作的。非常感谢^-^@Neekoy,不客气!很高兴这有帮助。我用更多的信息更新了我的答案,以帮助你在浏览器上重新调整大小。@DylanStark哦,不,我说得太快了-它不会在pai中折叠它们当你现在缩小窗口时,它会使两个对保持在同一行上,即使它的宽度低于它们的宽度。(@Neekoy hmmm在我的浏览器中,当窗口变得足够小时,它会将“pairsWithinContainer”一个放在另一个上面框不能包含它们的
minwidth
属性。我只是将minwidth设置为一个更大的值,以使其更可见。
<div class="container" id="outer">
    <div class="inner yellow" id="inner1">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner2">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner3">
        <div class="inner green"></div>
    </div>
    <div class="inner yellow" id="inner4">
        <div class="inner green"></div>
    </div>
</div>
.container {
    width: 100%;
    height: 200px;
    background-color: blue;
    padding: 2px;
    /* Firefox */
    display: -moz-box;
    -moz-box-pack: center;
    -moz-box-align: center;
    box-sizing: -moz-border-box;
    /* Safari and Chrome */
    display: -webkit-box;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    box-sizing: -webkit-border-box;
    /* W3C */
    display: box;
    box-pack: center;
    box-align: center;
    box-sizing: border-box;
    }

.inner {
    width: 50%;
    height: 100%;
    border: none;
    /* Firefox */
    display: -moz-box;
    -moz-box-pack: center;
    -moz-box-align: center;
    box-sizing: -moz-border-box;
    /* Safari and Chrome */
    display: -webkit-box;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    box-sizing: -webkit-border-box;
    /* W3C */
    display: box;
    box-pack: center;
    box-align: center;
    box-sizing: border-box;
}

.yellow {
    width: 25%;
    background-color: yellow;
    }

.green {
    width: 25%;
    background-color: green;
}