近项目开发过程中需要实现元素居中布局,自己前端水平不是很高很是头痛,问题最终解决。自己记录下解决过程,以便下次查阅。
1、display :flex 布局(针对chrome浏览器和ie11)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>display detail</title>
<style>
html,body {
width: 100%;
height: 100%;
display: flex;
flex-direction: row;/*这里可以不写,flex布局默认方向横向即row*/
justify-content: center;
align-items: center;
}
.div1 {
display: flex;
justify-content: center;
align-items: center;
width: 30em;
height: 30em;
border: 2px solid green;
}
.div2 {
width: 10em;
height: 5em;
border: 2px solid red;
}
.div3 {
width: 10em;
height: 5em;
border: 2px solid purple;
}
</style>
</head>
<body>
<div class="div1">
div1
<div class="div2">
div2
</div>
<div class="div3">
div3
</div>
</div>
</body>
</html>
最终结果:

flex布局是我在开发中最新换使用的一种布局手段。
2、通过css的margin等计算来定位(这种本人不是很喜欢,很繁琐)
.div1 { width: 30em; height: 30em; border: 2px solid green; position: absolute; left: 50%; top: 50%; margin-top: -15em; margin-left: -15em; }
结果:

以后会不定期更新
