为了账号安全,请及时绑定邮箱和手机立即绑定

div垂直居中

div垂直居中

leavens 2017-01-16 10:15:06
请问一下,如何让一个div块垂直居中在页面上,且不限定div的宽度和高度?
查看完整描述

10 回答

?
qq_啊啦嘞_0

TA贡献8条经验 获得超50个赞

只使用css就可以实现任意宽度、任意高度的元素垂直居中、水平和垂直都居中。

1)垂直居中。

<!DOCTYPE html>
<html>
  <head>
     <meta charset="UTF-8">
     <title>CSS3实现阴影效果</title>
     <style>
        .div1{position:absolute;top:50%;bottom:50%;}
     </style>
  </head>
  <body>
        <div class="div1">1</div>
  </body>
</html>


2)垂直水平都居中。

<!DOCTYPE html>
<html>
  <head>
     <meta charset="UTF-8">
     <title>CSS3实现阴影效果</title>
     <style>
        .div1{position:absolute;top:50%;left:50%;right:50%;bottom:50%;}
     </style>
  </head>
  <body>
        <div class="div1">1</div>
  </body>
</html>


查看完整回答
2 反对 回复 2017-01-16
?
登陆异常

TA贡献3条经验 获得超2个赞

.dis_vm{ width:0; height:100%; display: inline-block; vertical-align: middle;}

要居中的div设置vertical-align: middle;
然后再后面添加一个新的div添加上面的样式

查看完整回答
2 反对 回复 2017-01-16
?
习惯受伤

TA贡献885条经验 获得超1144个赞

如果内框的大小固定直接用CSS就可以实现居中,如果大小不固定,需要使用一点点JS代码设置。
查看完整回答
1 反对 回复 2017-01-16
?
狂四郎

TA贡献4条经验 获得超4个赞

margin:0 auto

查看完整回答
1 反对 回复 2017-01-16
?
Smom

TA贡献5条经验 获得超1个赞

vertical-align:middle;

查看完整回答
反对 回复 2017-01-16
?
Joy_Sang

TA贡献64条经验 获得超13个赞

.container {
     width: 400px;
     height: 500px;
     background: #ccc;
     position: relative;
}
.child {
    background: red;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


查看完整回答
反对 回复 2017-01-16
?
KevenHuang

TA贡献280条经验 获得超233个赞

可以用一个一行一列的table来实现,不过要先给body和table的高设置为100%,利用table中每行的元素都默认为垂直居中的特性实现元素垂直居中。
查看完整回答
反对 回复 2017-01-16
?
407575456

TA贡献1条经验 获得超0个赞

三种办法
查看完整回答
反对 回复 2017-01-17
?
闹小志

TA贡献75条经验 获得超42个赞

flex布局可以做到  如果不需要兼容比较旧的浏览器的话

查看完整回答
反对 回复 2017-01-16
  • 10 回答
  • 1 关注
  • 3145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信