html - CSS 垂直对齐属性不起作用

标签 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';
}

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

最佳答案

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

如果您的 child 只有一行文本,您可以使用 line-height 技巧将其居中:

.parent {
    line-height: 160px; /* Height of the parent */
}

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

另一种方法是伪造一个表:

.parent {
    display: table;
}

.child {
    display: table-cell;
    vertical-align: middle;
}

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

关于html - CSS 垂直对齐属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16205907/

相关文章:

javascript 返回 404 错误和未捕获的引用

html - 容器的最佳实践是什么?何时使用多个容器是个好主意?

html - 在 HTML 易趣列表中使用动态标签

css - 在 CSS 的字体大小属性中使用分数 em

html - 如何以不同方式对齐同一标签中的文本?

javascript - 如果没有从 document.getElementById .setAttribute href 中选择选项,则隐藏按钮

jquery - 如何使用 JQuery 选择具有特定名称的任何元素(输入、选择、文本区域)

html - css中的移动菜单栏

css - 使用 CSS 的文本居中在 IE 中不起作用

vue.js - 为什么我的 bootstrap-vue b-table 列标题不在部署中居中?