不定宽高的文字在div中垂直居中

本人在面试的时候被问到:如何使一段不定宽高的文字垂直居中呢?

现在来总结一下:

在body中写入结构

<div id="main">
    <div id="login">
        djshdk awjdsd sede sfcdf vdj sh dkaw jds dse desf cdf vd jsh dkawjd sds ede sfcdfv vd jsh dkawjd sds ede sfcdfv.
    </div>
</div>

方法一:

#main{
position: relative;    //在父元素中使用相对定位
200px;
height: 200px;
overflow: hidden;
background-color: #ff0;
padding: 10px;
}
#login{
position: absolute;   /*在子元素中使用绝对定位*/
top:50%;                /*距离相对于父元素的50%的高*/

left:50%;

background-color: #eee;
-webkit-transform:translate(-50%,-50%);    /*CSS3的样式,:translate(-50%,-50%)相对于自己距离x轴和y轴的-50%*/
}

方法二:

#main{
200px;
height: 200px;
background-color: #eee;
display: table;    /*让标签元素以表格的形式呈现*/
}
#login{
display: table-cell;    /*ie7和ie6都不能识别 display: table-cell;*/
vertical-align: middle;
}

今天是第一次写随笔,从基础开始。加油!

原文地址:https://www.cnblogs.com/heyujun-/p/6642216.html