如何实现一个DIV垂直居中

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

<!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{834px; height:550px; border:1px solid #9f9f9f; position:absolute;left:50%;margin-left:-417px;top:50%;margin-top:-275px;}
-->
</style>
</head>
<body>
<div id="divcss">自动适应水平和垂直居中</div>
</body>
</html>

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

原文地址:https://www.cnblogs.com/iRavior/p/2794358.html