在前端编写中,经常会遇到div内部元素需要居中效果,主要实现方式为:
1.水平居中:margin: 0 auto;
2.垂直居中,
position: relative;
top: 50%;
transform: translateY(-50%);
Demo如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.div1 {
border: 1px solid red;
height: 200px;
width: 200px;
}
.div2 {
border: 1px solid green;
height: 100px;
width: 100px;
margin: 0 auto;
position: relative;
top: 50%;
transform: translateY(-50%);
}
</style>
</head>
<body>
<div class="div1">
<div class="div2">
</div>
</div>
</body>
</html>
(1)未设置Position:relative之前, 内部的元素贴在外部元素的顶端。
(2)设置了相对定位,并位移父容器的50%的高度。即向下平移50%。
(3)设置向上位移50%自身高度,完成居中效果。