如何在另一个 div 中居中对齐 div

How do I center align a div within another div

我正在尝试将位于另一个 div 内的 div 居中对齐。我想将位于 "plan-container"

内的 "options" div 垂直居中

提前致谢。

.plan-container {
    width: 960px;
    height: auto;
    margin-top: 62px;
    overflow: hidden;
    background-color: red;
}

.options {
    float: left;
    width: 151px;
    height: 100px;
    background-color: green;
}

.plan {
    float: left;
    width: 220px;
    height: 600px;
    margin-left: 23px;
    background-color: purple;
}

.plan:last-child {
    float: right;
}

.plan-featured{
    width: 300px;
    height: 600px;
    background-color: purple;
}
<div class="plan-container">
  <div class="options">Options</div>
  <div class="plan">Box one</div>
  <div class="plan plan-featured">Box two</div>
  <div class="plan">Box three</div>
</div>

试一试-

.plan-container {
    display: flex;
    flex-wrap: wrap; /* optional. only if you want the items to wrap */
    justify-content: center; /* for horizontal alignment */
    align-items: center; /* for vertical alignment */
}

您可以使用 inline-block 而不是 float,并且您可以使用 vertical-align 属性:

.plan-container>div{
  display: inline-block;
  vertical-align: middle;
}

JSFiddle

然而,beware of the whitespace issue.

Vucko 的回答是正确的。我想添加评论,但由于我还没有足够的声誉,我将 post 作为答案。

您可以在需要居中的内部 div 上使用 vertical-align 属性。此 属性 仅适用于具有 display:inline-blockdisplay:table 的元素。参考实际规格 here.

重复 Vucko 的回答:

.options {
    display: inline-block;
    vertical-align: middle;
}