假设您将以下 CSS 应用于 div 标签
.divtagABS {
position: absolute;
margin-left: auto;
margin-right: auto;
}
margin-left
和 margin-right
不生效
但如果你有亲戚,它工作正常即
.divtagREL {
position: relative;
margin-left: auto;
margin-right: auto;
}
这是为什么?我只想让一个元素居中。
有人可以解释为什么在绝对位置将边距设置为 auto 不起作用吗?
原文由 user1118019 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑:这个答案曾经声称不可能将绝对定位的元素与
margin: auto;
,但这根本不是真的。因为这是投票最多和接受度最高的答案,所以我想我只是将其更改为正确的。当您将以下 CSS 应用于元素时
然后给元素一个固定的宽高,比如200px或者40%,元素 会 自己居中。
这是 一个演示效果的小提琴。