一个元素(脱离文档流,position:absolute),且此元素宽度不固定,如何让此元素可以水平居中?有什么好的解决方案?
宽高只是为了方便看效果,可以看下我的这篇文章居中一个div的n中方法
div {
position: absolute;
width: 50px;
height: 50px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: pink;
}
1. flex布局:
父元素设置
.parent{
display: flex;
justify-content: center;
align-items: center;
}
2. transform:transition(-50%,-50%)
position: absolute;
width: 100px;
height: 100px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
//或写为(需提前知道元素宽高)
//margin-left:-50px;
//margin-right:-50px
3. margin:0 auto(水平居中的最简单方式,需知道元素宽度)
4. display:inline-block
父元素设置
.parent{
text-align: center;
}
子元素设置
.child{
display:inline-block;
}
3 回答4.8k 阅读✓ 已解决
5 回答2k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.4k 阅读
4 回答2.2k 阅读
2 回答991 阅读✓ 已解决
使用弹性布局,父元素:
display: flex;
justify-content: center;//水平居中
align-items: center;//垂直居中
或者
父元素:
position: relative;
子元素:
left: 50%;
top: 50%;
transform: translate(-50%);