使用CSS垂直居中页面上的元素?

时间:2014-10-17 11:08:04

标签: css

我需要在页面上垂直居中一个未知高度的元素。

我可以相对于包含div的垂直居中:

.one {
  background: grey;
  width: 50%;
  position: relative;
  top: 50%; 
 transform: translateY(-50%); 
  margin: auto;
}
.cont {
  background: blue;
  height: 300px;
}

http://codepen.io/anon/pen/lfrJx

但是我不能让它在页面上垂直居中:

.one {
  background: grey;
  width: 50%;
  position: relative;
  top: 50%; 
 transform: translateY(-50%); 
  margin: auto;
}
.cont {
  background: blue;
  height: 100%;
}

http://codepen.io/anon/pen/gqLcB

2 个答案:

答案 0 :(得分:1)

把这个css:)



.one {
  background: grey;
  width: 50%;
  position: relative;
  margin-top:auto;
  margin-bottom:auto;
  vertical-align:middle;
}
.cont {
display: table-cell;
  background: blue;
  width:100%;
}




答案 1 :(得分:0)

http://codepen.io/anon/pen/mFGeH

.cont {
  position:absolute;
  background: blue;
  height: 100%;
  width:100%;
}