我在容器中有两个div标签。我想使用弹性框并将第一个div标签对齐到顶部,另一个相对于容器居中。我怎么能这样做?
当flex-direction为列时,使用align-items: flex-start
仅将其移动到左侧。什么是将它移到顶部的等效css?
codepen:https://codepen.io/GMSg68/pen/aGpOpG
.box {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 500px;
border: 1px solid blue;
}
.box div {
width: 100px;
height: 100px;
border: 1px solid darkgray;
}
.box div:nth-child(1) {
/* How do I push the first div tag to the top? */
background-color: lightgray;
}
.box div:nth-child(2) {
background-color: lightblue;
}

<div class="box">
<div>One</div>
<div>Two</div>
</div>
&#13;
答案 0 :(得分:2)
向第n个子(2)div添加margin top和bottom auto。然后添加-50%的Y变换以将其与中心对齐。这假设两个div的高度相同。
.box div:nth-child(2){
background-color: lightblue;
margin-top: auto;
margin-bottom: auto;
transform: translateY(-50%);
}