水平居中和垂直居中

1.水平居中
(1)行内元素:给父元素设置 text-align:center 。
(2)定宽度块状元素:设置“左右margin”值为“auto”,margin:0 auto可以解决;现代浏览器,IE下text-align:center。。
(3)不定宽度块状元素:
① 设置 display: inline ,使用 text-align:center 来实现居中效果。
② 通过给父元素设置 floatposition:relative 和 left:50%,子元素设置 position:relative,
left: -50% 来实现水平居中。
<body>
<div class="container">
    <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
    </ul>
</div>
</body>
css代码:
.container{
position:relative;
    left:50%;这两步设置了父元素的相对定位,偏移距离为宽度的一般,设置后,父元素的宽度不变,超出屏幕一半的宽度,高度自适应
    float:left;  这一步将父元素的宽度变为宽度自适应,宽度由内容决定
.container ul{
    list-style:none;
    margin:0;
    padding:0; 
    position:relative;
    left:-50%;这两步,将ul的位置偏移ul宽度的一半
}
2.垂直居中
(1)父元素高度确定的单行文本:通过设置父元素的 height 和 line-height 高度一致来实现的。
(2)多行利用inline-block设置
<div style="150px; height:100px; ">
  <span>This is a test.<br/>
This is a test. </span>
</div>
我们可以利用inline-block这样做
div{
line-height:100px;
}
span{
display:inline-block;
font-size:10px;
line-height:1.4em;
vertical-align:middle;
}
原文地址:https://www.cnblogs.com/bobonote/p/8298531.html