如何实现一个DIV垂直居中

实现一个DIV垂直居中是前端面试中常见的考题,可以用css实现,当然也可以用js实现,下面贴出如何用css实现并解释其中原理。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
<!--
*{margin:0;padding:0;}
#divcss{width:834px; height:550px; border:1px solid #9f9f9f; <strong>position:absolute;left:50%;margin-left:-417px;top:50%;margin-top:-275px;</strong>}
-->
</style>
</head>
<body>
<div id="divcss">自动适应水平和垂直居中</div>
</body>
</html>

原理:先用left:50%;top:50%让这个div的左上角居于页面的正中,然后用margin-left:-417px;margin-top:-275px;使div向左向上移动它自身宽高的一半.

Ravior wechat
微信公众号:万物为媒, 关注一个技术人员的成长之路
写的不错, 点个赞吧!