两个盒子水平居中很简单直接设置margin: auto;属性即可,垂直居中就有些困难了,以下有两种形式。
利用margin-top属性
注意margin-top若直接使用,outer中没有border的话,这个时候达不到效果,两个盒子会整体往下移,奇奇怪怪,就像这样。
以下是完整的正确代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test盒子</title>
<style>
.outer{
width: 400px;
height: 400px;
background-color: orange;
margin: auto;
border: solid 2px orange;
/*padding-top: 100px;*/
}
.inner{
width: 200px;
height: 200px;
background-color: green;
margin: auto;
margin-top: 100px;
}
</style>
</head>
<body>
<div class="outer">
<div class="inner">
</div>
</div>
</body>
</html>
页面结果
使用padding-top填充
注意padding是填充效果而不是单纯的移动效果,因此必须对外面盒子的大小重新进行计算,例如padding-top: 100px;是指小盒子向上填充了100个像素,因此外面的大盒子的高度需要减少100个像素。
完整的正确代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test盒子</title>
<style>
.outer{
width: 400px;
height: 300px;
background-color: orange;
margin: auto;
/*border: solid 2px orange;*/
padding-top: 100px;
}
.inner{
width: 200px;
height: 200px;
background-color: green;
margin: auto;
/*margin-top: 100px;*/
}
</style>
</head>
<body>
<div class="outer">
<div class="inner">
</div>
</div>
</body>
</html>