我试图在粉红色的中间得到蓝色的容器,但似乎垂直对齐:中间;在这种情况下是没用的。

<div style="display: block; position: absolute; left: 50px; top: 50px;">
    <div style="text-align: left; position: absolute;height: 56px;vertical-align: middle;background-color: pink;">
        <div style="background-color: lightblue;">test</div>
    </div>
</div>

结果:

预期:

请建议我怎样才能做到这一点。

杰斯菲德尔


当前回答

另外一个简单的解决方案

HTML:

<div id="d1">
    <div id="d2">
        Text
    </div>
</div>

CSS:

#d1{
    position:absolute;
    top:100px;left:100px;
}

#d2{
    border:1px solid black;
    height:50px; width:50px;
    display:table-cell;
    vertical-align:middle;
    text-align:center;  
}

其他回答

你可以使用display:table;在父div和display: table-cell;vertical-align:中间;在子div中

< div风格= "显示:表;" > < span style=" font - family:宋体;高度:56 px;背景颜色:粉色;显示:表格单元;vertical-align:中间;" > < span style=" font - family:宋体;“>测试< / div > < / div > < / div >

另外一个简单的解决方案

HTML:

<div id="d1">
    <div id="d2">
        Text
    </div>
</div>

CSS:

#d1{
    position:absolute;
    top:100px;left:100px;
}

#d2{
    border:1px solid black;
    height:50px; width:50px;
    display:table-cell;
    vertical-align:middle;
    text-align:center;  
}

垂直和水平居中:

.parent{
  height: 100%;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.c{
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

用这个:

.Absolute-Center {
    margin: auto;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
}

参考这个链接:https://www.smashingmagazine.com/2013/08/absolute-horizontal-vertical-centering-css/

仅适用于垂直中心

< span style=" font - family:宋体;位置:相对,高度:56px,背景-颜色:粉色;" > < span style=" font - family:宋体;变换:translateY (-50%);“>测试< / div > < / div >

我总是这样做,这是一个非常简短和容易的代码,水平和垂直居中

.center { 位置:绝对的; 上图:50%; 左:50%; 转换:翻译(-50%,-50%); } <div class="center">Hello居中世界!< / div >