css3实现任意元素居中
实现效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191022145153173.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3J1ZmVpa2U=,size_16,color_FFFFFF,t_70)
实现方式
- 方式一:position定位和margin边距实现,该方式受定位元素大小影响,不同宽高的元素,需要计算margin的值。
- 方式二:position定位+transform:translate(-50%,-50%)移动实现,推荐使用,无需考虑定位元素的宽和高
代码实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.container{position:relative;height: 200px;background-color: #cccccc;margin-bottom: 15px;}
.circle{width:100px;height:100px;background-color: skyblue;border-radius: 50px}
.circle1{position:absolute;top:50%;left:50%;margin-top:-50px;margin-left:-50px;}
.circle2{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
</style>
</head>
<body>
<p>方式一:position定位和margin边距实现</p>
<div class="container">
<div class="circle circle1"></div>
</div>
<p>方式二:position定位+transform:translate(-50%,-50%)移动实现</p>
<div class="container">
<div class="circle circle2"></div>
</div>
</body>
</body>
</body>
</html>