我想在两个div中垂直对齐文本。我在这里尝试了许多解决方案但没有产生所需的结果。
我创作了一个sjFiddle:
#outer {
position: relative;
}
#inner1 {
position: absolute;
align-items: center;
top: 10%;
bottom: 10%;
width: 100%;
height: 40%;
}
#inner2 {
position: absolute;
align-items: center;
top: 50%;
bottom: 10%;
width: 100%;
height: 40%;
}
html,
body {
height: 100%;
}
#outer {
background-color: purple;
width: 50%;
height: 50%;
}
#inner1 {
background-color: yellow;
}
#inner2 {
background-color: red;
}
<div id="outer">
<div id="inner1">
Test text 1
</div>
<div id="inner2">
Test text 1
</div>
</div>
根据我小提琴中的代码,任何人都可以看到我能做到这一点。 非常感谢你的时间。
答案 0 :(得分:2)
这与你想要达到的目标相似吗?
#outer {
height:100%;
padding:10% 0;
box-sizing:border-box;
}
#inner1 {
height:50%;
width:100%;
display:flex;
justify-content:center;
align-items:center;
}
#inner2 {
height:50%;
width:100%;
display:flex;
justify-content:center;
align-items:center;
}
html, body { height: 100%; }
#outer {
background-color: purple;
}
#inner1 {
background-color: yellow;
}
#inner2 {
background-color: red;
}
&#13;
<div id="outer">
<div id="inner1">
Test text 1
</div>
<div id="inner2">
Test text 1
</div>
</div>
&#13;
我已经从内部div中移除了定位并使它们成为flexbox,从而允许我们使用justify-content和align-items来实现水平和垂直居中。