如何让元素水平居中?这是一道很常见的面试题,对于已知宽度和未知宽度的处理方法又有所不同,大致有以下7种:
<!DOCTYPE html>标签:居中,哪些,实现,元素,水平,宽度,文本 From: https://blog.51cto.com/u_15959833/6046865
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>让元素水平居中的方法有哪些</title>
<style>
*{
margin:0;
padding:0;
}
body>div{
height:100px;
}
</style>
</head>
<body>
<div style="width:288px;margin:0 auto;">
用固定宽度加外边距自动实现水平居中
</div>
<div style="position:relative;">
<!-- margin-left为width宽度的一半 -->
<div style="width:288px;position:absolute;left:50%;margin-left:-144px">
用绝对定位加负的左外边距实现水平居中
</div>
</div>
<div style="text-align:center;">
<span>用文本居中让行内元素水平居中</span>
</div>
<div style="text-align:center;">
<div style="display:inline-block;">
用文本居中加行内块实现水平居中
</div>
</div>
<div style="position:relative;">
<!-- 如果还想要子元素垂直居中,可以加上:top:50%;transform 改成 translate(-50%,-50%); -->
<div style="position:absolute;left:50%;transform:translateX(-50%);">
用绝对定位加平移实现水平居中
</div>
</div>
<div style="display:table;margin:0 auto">
<!-- 想要垂直居中可以在子元素上加上:display:table-cell;vertical-align:middle -->
<span>用表格布局加外边距自动实现水平居中</span>
</div>
<div style="display:flex;justify-content:center;">
<span>用弹性布局加文本对齐居中实水平居中</span>
</div>
</body>
</html>