html/css 通用布局水平垂直居中方法

2016-07-26

html/css 通用布局水平垂直居中方法

2016-07-26

一般子元素居中方法

Ps:宽度100%无效,对于position:absolute无效

.child-element {
    width: 100px;
    height: 100px;
    background: blue;
    margin: 0 auto;
}

绝对布局子元素居中方法1

Ps:只限于子元素宽度固定时才有效

但当子元素宽度改变时,无法自适应:点我改变宽度.

.child-element {
    position: absolute;
    width: 100px;
    height: 100px;
    left: calc(50% - 50px);
    background: red;
}

绝对布局子元素居中方法2(自适应居中)(推荐)

Ps:position:relative也可以使用

我是绝对布局,我可以自适应水平垂直居中

现在当我们改变宽度时,也会自动居中: 点我改变宽度.

.child-element {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
我是相对布局,我可以自适应垂直水平居中

点我改变宽度.

.child-element {
    position: relative;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

适配各浏览器

.child-element {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%); 	/* IE 9 */
    -moz-transform: translate(-50%,-50%); 	/* Firefox */
    -webkit-transform: translate(-50%,-50%); /* Safari 和 Chrome */
    -o-transform: translate(-50%,-50%); 	/* Opera */

}

最后感谢大神:joshbroton