这篇文章主要介绍了CSS实现子元素div水平垂直居中的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
div基本布局
-
<
div
class="
main">
-
<
div
class="
center"></
div>
-
</
div>
css样式
1. 配合定位与margin:auto
父元素加相对定位,子元素加绝对定位
-
.main{
-
width:
300px;
-
height:
300px;
-
background-color: red;
-
position: relative;
-
}
-
.center{
-
width:
100px;
-
height:
100px;
-
background-color: skyblue;
-
position: absolute;
-
left:
0;
-
right:
0;
-
top:
0;
-
bottom:
0;
-
margin: auto;
-
}
2.利用flex布局,设置水平与竖直方向的内容居中。
-
.main{
-
width:
300px;
-
height:
300px;
-
background-color: red;
-
display: flex;
-
justify-content: center;
-
align-items: center;
-
}
-
.center{
-
width:
100px;
-
height:
100px;
-
background-color: greenyellow;
-
}
3.利用position:absolute与transform
:这里需要记住的是transform中translate使用百分比时相对的是自己的长宽,不是父盒子的。
-
.main{
-
width:
300px;
-
height:
300px;
-
background-color: red;
-
position: relative;
-
}
-
.center{
-
width:
100px;
-
height:
100px;
-
background-color: pink;
-
position: absolute;
-
left:
50%;
-
top:
50%;
-
transform:
translateX(-
50%)
translateY(-
50%);
-
}
4.定位 与负margin配合
只适合子盒子长宽固定的情况
-
.main{
-
width:
300px;
-
height:
300px;
-
background-color: red;
-
position: relative;
-
}
-
.center{
-
width:
100px;
-
height:
100px;
-
background-color: pink;
-
position: absolute;
-
left:
50%;
-
top:
50%;
-
margin-left: -
50px;
-
margin-top: -
50px;
-
}
5.display:table-cell
display:table-cell;与vertical-align:middle 的作用是让子盒子在数值方向上居中
margin:auto;则让子盒子在水平方向居中,若只想让盒子在某个方向居中,去掉另一个就可以了。
-
.main{
-
width:
300px;
-
height:
300px;
-
background-color: red;
-
display: table-cell;
-
vertical-align: middle;
-
}
-
.center{
-
width:
100px;
-
height:
100px;
-
background-color:
#000;
-
margin: auto;
-
}
面对国内众多的云平台,个人和企业该如何选择呢?可以参考这篇文档:【云服务器推荐】2021年腾讯云、阿里云、华为云服务器价格和配置评测