html
<div class="box">
<p class="inner">hello word</p>
</div>
1flex布局
利用justify-content: center;
实现水平居中,aline-items:center
实现垂直居中;
.box{
width: 300px;
height: 300px;
background-color: aqua;
display: flex;
justify-content: center;
align-items: center;
}
.inner{
background-color: brown;
}
或则利用gruid
布局
.box{
width: 300px;
height: 300px;
background-color: aqua;
display: gruid;
}
.inner{
background-color: brown;
}
复制代码
或则利用flex
布局和margin:auto
.box{
width: 300px;
height: 300px;
background-color: aqua;
display: flex;
}
.inner{
background-color: brown;
margin:auto;
}
2、利用相对定位和绝对定位和margin:auto
.box{
width: 400px;
height: 400px;
background-color: aqua;
position: relative;
}
.inner{
width: 200px;
height: 200px;
background-color: brown;
position: absolute;
margin: auto;
left: 0;
top: 0;
bottom: 0;
right: 0;
}
3、利用相对定位和绝对定位,外边距平移
相对定位下,使用绝对定位,利用margin
偏移外容器的50%,再利用translate
平移回补自身宽高的50%
.box{
width: 400px;
height: 400px;
background-color: aqua;
position: relative;
}
.inner{
width:200px;
height:200px;
background-color: brown;
position: absolute;
margin: 0;
left: 50%;
top: 50%;
transform:translate(-50%,-50%);
}