<div class="box">
<div class="content"></div>
</div>
- flex弹性布局
<style>
.box {
width: 300px;
height: 300px;
background-color: orange;
display: flex;
align-items: center;
}
.content {
background-color: red;
width: 100px;
height: 100px;
}
</style>
- 绝对定位,设置
margin:auto;
并设置top、left、right、bottom的值相等
<style>
.box {
width: 300px;
height: 300px;
background-color: orange;
position: relative;
}
.content {
background-color: red;
width: 100px;
height: 100px;
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
</style>
- 绝对定位,left和top设置50%,再用transform向左(上)平移它自己宽度(高度)的50%
<style>
.box {
width: 300px;
height: 300px;
background-color: orange;
position: relative;
}
.content {
background-color: red;
width: 100px;
height: 100px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
</style>
- 绝对定位,left和top设置50%,再用margin调整宽高的一半(需知道元素宽高)
<style>
.box {
width: 300px;
height: 300px;
background-color: orange;
position: relative;
}
.content {
background-color: red;
width: 100px;
height: 100px;
position: absolute;
left: 50%;
top: 50%;
margin-top: -50px;
margin-left: -50px;
}
</style>
- 绝对定位,利用css3计算属性(需知道元素宽高)
<style>
.box {
width: 300px;
height: 300px;
background-color: orange;
position: relative;
}
.content {
background-color: red;
width: 100px;
height: 100px;
position: absolute;
top: calc(50% - 50px);
left: calc(50% - 50px);
}
</style>