CSS vertical-align属性不起作用

Neo*_*Neo 4 html css text-align

嘿,我有以下CSS代码:

.parent
{
    position : 'absolute';
    top : '50px';
    left : '50px';
    width : '400px';
    height : '160px';
    padding : '10px';
    border : '2px solid';
    border-color : '#444444';
    background-color : '#FF0000';
    text-align : 'center';
    /*display : inline; tried this also and didn't work.*/
}

.child
{
    color : '#123456';
    font-size : '16px';
    font-family : 'Arial';
    vertical-align : 'middle';
}
Run Code Online (Sandbox Code Playgroud)

我只是想把孩子的内容放在父div的中心(x和y),但它不起作用,它只显示父元素顶部的文本.有什么建议吗?谢谢.

Ble*_*der 14

vertical-align有一个欺骗性的名字.它实际上并不像您认为的那样垂直对齐元素.

如果您的孩子只有一行文字,您可以使用该line-height技巧将其置于中心位置:

.parent {
    line-height: 160px; /* Height of the parent */
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/vVAdZ/

另一种方法是伪造一张桌子:

.parent {
    display: table;
}

.child {
    display: table-cell;
    vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/vVAdZ/3/