我试图垂直居中我的标签内容,但当我添加CSS样式display:inline-flex时,水平文本对齐消失了。
我怎么能使文本对齐x和y为我的每个制表?
* { box-sizing: border-box; }
#leftFrame {
background-color: green;
position: absolute;
left: 0;
right: 60%;
top: 0;
bottom: 0;
}
#leftFrame #tabs {
background-color: red;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 25%;
}
#leftFrame #tabs div {
border: 2px solid black;
position: static;
float: left;
width: 50%;
height: 100%;
text-align: center;
display: inline-flex;
align-items: center;
}
<div id=leftFrame>
<div id=tabs>
<div>first</div>
<div>second</div>
</div>
</div>
要在页面中居中Div,请检查fiddle链接
# vh {
border - radius: 15 px;
Box-shadow: 0 0 8px rgba(0,0,0,0.4);
填充:25 px;
宽度:200 px;
身高:200 px;
背景:白色;
text-align:中心;
保证金:汽车;
位置:绝对的;
上图:0;
左:0;
底部:0;
右:0;
}
<div id="vh"> div要垂直对齐</div>
更新
另一种选择是使用flex box检查小提琴链接
.vh {
background - color: # ddd;
身高:200 px;
对齐项目:中心;
显示:flex;
}
.vh > div {
宽度:100%;
text-align:中心;
vertical-align:中间;
}
< div class = " vh”>
<div> div要垂直对齐
< / div >
方法6
/*Change units to "%", "px" or whatever*/
#wrapper{
width: 50%;
height: 70vh;
background: rgba(0,0,0,.5);
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
#left{
width: 50%;
height: 50vh;
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
background: red;
}
#right{
width: 50%;
height: 50vh;
position: absolute;
top: 0;
bottom: 0;
right: 0;
margin: auto;
background: green;
}
.txt{
text-align: center;
line-height: 50vh;
}
<div id="wrapper">
<div id="left" class="txt">Left</div>
<div id="right" class="txt">Right</div>
</div>
.container{
width: 50%; //Your container width here
height: 50%; //Your container height here
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}