HTML:
<div class='parent'>
<div class="a"></div>
<div class="b"></div>
</div>
的CSS:
.parent{
width : 50vh;
height : 50vh;
position : relative;
}
.b{
top: 15vh;
position: absolute;
margin-left: 15vh;
}
问题是,我想将DOM .a
放在.b
的顶部中心。我该怎么写css规则?
由于它使用vh
来定义.parent
和.b
的大小,而.a
具有固定的大小。如果我使用abosulte
位置并给a
一个固定的top
和left
值,它就不会转到我想要的位置。
它必须是纯CSS(或scss)。感谢。
答案 0 :(得分:1)
你没有正确关闭div。我为父母使用flexbox。希望这会有所帮助。
.parent {
width: 50vh;
height: 50vh;
position: relative;
border: solid thin red;
display: flex;
flex-direction: column;
align-items: center;
}
.a,
.b {
top: 30vh;
position: relative;
text-align: center;
margin: 0 auto;
}
.a {
border: solid thin green;
width: 20%;
}
.b {
border: solid thin blue;
width: 90%;
}
&#13;
<div class='parent'>
<div class="a">a
</div>
<div class="b">b
</div>
</div>
&#13;